C# 응용 프로그램에서 일부 COM interop을 수행하는 중이고 이에 대한 대답을 찾을 수 없습니다.COM 인터페이스 구현 자용 문서
COM 인터페이스의 구현을 구체화하는 Win32 설명서에서 어디에서 찾을 수 있는지 궁금합니다. 예를 들어, IShellLinkW는 CLSID_ShellLink에 의해 식별되는 클래스에 의해 구현되고, IObjectArray는 CLSID_EnumerableObjectCollection에 의해 구현된다는 것을 알고 있습니다.
하지만 어떻게 알 수 있습니까? Windows SDK (최신) 버전이 설치되어 있으며 문서의 정보를 기반으로 어떻게 파악했는지 머리를 감쌀 수없는 것 같습니다.
과 같은 몇 가지 수동 interop 선언을 수행하고 있습니다. 어떻게하면 일들이 어떻게 작동하는지 알 수 있습니다. 그래서 질문은 남아 있습니다. 주어진 com 인터페이스를 사용하여 구현하는 클래스를 알 수 있습니까? 그래서 무엇을 만들지 알 수 있습니다 .. – TheCodeJunkie
PE 이미지에 COM 용 리소스가 있습니다. 지원되는 CLSIID W IID (TypeLib)를 설명합니다. regsrv와 같은 도구는 레지스트리에 필요한 정보를 추가 할 수 있습니다. TlbImp와 같은 도구는이를 사용하여 래퍼 (wrapper) 또는 관리되는 dll을 만듭니다. 또한 설치 관리자는이 정보를 데이터베이스에 저장하고 (http://msdn.microsoft.com/en-us/library/aa372092%28VS.85%29.aspx 참조) 레지스트리에 추가 정보를 추가하십시오. –
전체 관리되는 interop 시나리오를 보자. 질문과 관련이 없으며 (일부 배경 이었음) IDL 파일, 형식 라이브러리, 가져 오기 도구 등을 모두 알고있다. 나는 새롭고 열망하는 C++ 개발자, 구체적인 클래스에 대해 알고 있습니까? 내가 문서를 읽고 IShellLinkW 인터페이스를보고 "Hmm cooool, 나는 그것을 사용하고 싶다"라고 말하면, CLSID_ShellLink의 인스턴스를 만드는 방법을 어떻게 알 수 있습니까? 또는 더 모호한, IObjectArray/IObjectColleciton -> CLSID_EnumerableObjectCollection? 문서의 어딘가에서 언급해야하지만 어디에 있습니까? :) thanks – TheCodeJunkie