C# COM接口Guid

C# COM接口Guid,c#,.net,com,interface,C#,.net,Com,Interface,我不太喜欢COM接口,所以我有一个小问题,比如我有以下代码: [Guid("148BD528-A2AB-11CE-B11F-00AA00530503"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] internal interface IEnumWorkItems { [PreserveSig()] int Next([In] uint RequestCount, [Out] out System.IntPtr

我不太喜欢COM接口,所以我有一个小问题,比如我有以下代码:

[Guid("148BD528-A2AB-11CE-B11F-00AA00530503"), 
 InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
internal interface IEnumWorkItems {
    [PreserveSig()]
    int Next([In] uint RequestCount, [Out] out System.IntPtr Names, 
                       [Out] out uint Fetched);
    void Skip([In] uint Count);
    void Reset();
    void Clone([Out, MarshalAs(UnmanagedType.Interface)] 
                          out IEnumWorkItems EnumWorkItems);
}
我如何知道“148BD528-A2AB-11CE-B11F-00AA00530503”对应于IEnumWorkItems:


比如,如果我想知道这个接口的GUID:在哪里可以找到它?

我从来没有遇到过正式的文档-但是,有几种方法可以查找它:

  • 在OLE Viewer(包含在visual studio工具中)中打开类型库(通常是服务器DLL本身)
  • 在SDK.idl/.h中查找它
  • 编写简短的VC++程序并使用uuuuIdof(IInterface)
  • 在HKCR\Interface下查找(尽管并非所有接口都需要在此处注册)

在注册表中,在
HKEY_CLASSES_ROOT
中搜索类名,您将找到GUID

是的,SDK。MSTask.idl声明它们。