2010-04-13 11 views
10

yo no soy mucho en interfaces COM, así que tengo una pequeña pregunta, decir que tengo este código:interfaz COM Guid

[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); 
} 

¿Cómo sé que "148BD528-A2AB-11CE-B11F-00AA00530503 "corresponde a IEnumWorkItems: http://msdn.microsoft.com/en-us/library/aa380706(VS.85).aspx

Me gusta si deseo conocer el GUID de esta interfaz: http://msdn.microsoft.com/en-us/library/aa381811(VS.85).aspx ¿dónde puedo encontrarla?

Respuesta

7

nunca he encontrado una documentación formal - no son, sin embargo, varias maneras de mirar hacia arriba:

  • Abra la lib tipo (por lo general el mismo servidor DLL) en OLE Viewer (incluido en Visual Studio herramientas)
  • mirar hacia arriba en el programa de la .idl SDK del/de
  • escribir corto VC++ .hy utilizar __uuidof (IInterface)
  • mirando hacia arriba bajo HKCR \ Interface (aunque no todas las interfaces necesitan para registrarse allí)
+1

Sí, el SDK. MSTask.idl los declara. –

3

En el registro, hacer una búsqueda para el nombre de clase en HKEY_CLASSES_ROOT, se encuentra el GUID

Cuestiones relacionadas