Guid интерфейса COM
Я не очень разбираюсь в 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:http://msdn.microsoft.com/en-us/library/aa380706 (VS.85).aspx
например, если я хочу знать GUID этого интерфейса:http://msdn.microsoft.com/en-us/library/aa381811 (VS.85).aspx где я могу найти его?
2 ответов
Я никогда не сталкивался с формальной документацией - однако есть несколько способов ее поиска:
- откройте тип lib (обычно сам сервер DLL) в Ole Viewer (входит в visual studio tools)
- поиск в SDK .идл-х / .Н
- напишите короткую программу VC++ и используйте __uuidof (IInterface)
- поиск его под HKCR\Interface (хотя не все интерфейсы должны быть зарегистрированы там)