C#連続GUID生成

2690 ワード

 1 using System.Runtime.InteropServices;

 2 

 3 public class SequentialGuid

 4 {

 5     [System.Runtime.InteropServices.DllImport("Rpcrt4", CallingConvention = CallingConvention.StdCall, SetLastError = true)]

 6     private static extern long UuidCreateSequential(ref System.Guid ptrGuid);

 7 

 8     public static System.Guid CreateGuid()

 9     {

10         System.Guid id = System.Guid.Empty;

11         long num = SequentialGuid.UuidCreateSequential(ref id);

12         if (0L != num)

13         {

14             return System.Guid.NewGuid();

15         }

16         return id;

17     }

18 }

上のコードから分かるように、実はwinAPIを呼び出して実現したのです.
Rpcrt4.dll -> UuidCreateSequential