I am working with a system that uses GUIDs as keys in most database tables. The guids are created using UuidCreateSequential, in order to be nice to the database indexes.
C++ syntax, according to http://msdn.microsoft.com/en-us/library/aa379322%28VS.85%29.aspx :
RPC_STATUS RPC_ENTRY UuidCreateSequential(
UUID __RPC_FAR *Uuid
);
p/invoke.net suggests the following signature:
[DllImport("rpcrt4.dll", SetLastError=true)]
static extern int UuidCreateSequential(out Guid guid);
The question is - how can I know whether this method is safe to invoke from several threads simultaneously? Initial tests show that this might be safe, but I haven't found any significant information regarding this on MSDN or Google. Is there any standard convention regarding calls to the windows API that I can rely on?