OLE 자동화/COM 인터페이스의 인터페이스 ID를 찾는 특정 참조 또는 표준 방법이 있습니까? 예를 들어, IWebBrowser2 인터페이스의 ID는 D30C1661-CDAF-11D0-8A3E-00C04FC9E26E
이며 here입니다. 그러나이 특정 위치에 이미 GUID가 있으므로이 위치를 찾을 수있는 유일한 방법이 있습니다.Windows OLE/COM 인터페이스의 ID는 어디에서 찾을 수 있습니까?
HRESULT CoCreateInstance(
_In_ REFCLSID rclsid,
_In_ LPUNKNOWN pUnkOuter,
_In_ DWORD dwClsContext,
_In_ REFIID riid,
_Out_ LPVOID *ppv
);
당하지만은 해당 페이지에서 볼 수 있듯이, 나는 주어진 OLE 인터페이스에 필요한 riid 알 수있는 방법이 없습니다 : 사용의 경우는 여기에 소요되는 함수를 CoCreateInstance입니다. 제 3의 파티가 아니라 Win API 인터페이스를 여기에서 말하고 있습니다. CLSID는 찾기가 다소 어렵지만 레지스트리에서 찾을 수도 있고 프로세스 ID에서 가져 오는 함수로 찾을 수도 있습니다. 내 옵션이 COM/CoCreateInstance와 함께 사용되는지 확인하려고합니다.
* riid *는 평소에 잘 알려져 있습니다. 당신이'__uuidof (ISomeInterface)'나 매크로 ['IID_PPV_ARGS'] (https://msdn.microsoft.)를 사용할 수 있도록'MIDL_INTERFACE ("rid") ISomeInterface'로 정의 된 sdk/wdk 헤더 파일에서 문서화 된 인터페이스를 사용한다면.com/ko-us/library/windows/desktop/ee330727 (v = vs.85) .aspx). * rclsid *에 대한 질문은 여기에 있습니다. 문서에서'CLSID'가'ISomeInterface'를 구현하거나 자신을 연구하는 검색이 필요합니다. – RbMm
각 인터페이스의 MSDN 페이지 하단에 GUID가 표시됩니다. 당신이 원하는 인터페이스를 모른다면, 내가 무엇을 묻고 있는지 확실하지 않습니다 ... – andlabs
당신이 무엇을 요구하고 있는지 완전히 불분명합니다. Don Box '[Essential COM] (https://www.amazon.com/dp/0201634465)을 반드시 읽어보십시오. 그러면 더 나은 질문을 할 수있는 입장이됩니다. – IInspectable