COM Developers Documentation

I'm in the process of doing COM interop with a C # application and I can't seem to find an answer to this question.

I was wondering where I can find the Win32 documentation that fleshes out the implementations that exist in the COM interface. For example, I know (thanks to goodgle) that IShellLinkW is implemented by a class identified by CLSID_ShellLink, that IObjectArray is implemented by CLSID_EnumerableObjectCollection, etc.

How am I supposed to know? I have the Windows SDK version (latest version) installed and I can't wrap my head around how I was supposed to figure this out based on the information in the docs?

+2


source to share


3 answers


I don't think you want without loading each COM object into the system and asking for a list of the classes it has and what interfaces they implement. This information, to my knowledge, is not stored in the registry (the place where all external COM information is stored).



If you could provide a specific example of what you are trying to achieve, this might be an alternative way. If you just want to know which interfaces are implemented by a particular class or .dll, you can do so with a viewer like oleview

0


source


Why do you need to know? Import utilities like tlbimp.exe calculate the required data from information like exe or dll and create wrappers that cover it for you.



Check out TlbImp example in COM Interop Part 1: C # Tutorial for Clients :

+1


source


most of the standard COM IIDs and CLSIDs are listed in the uuid.lib file included with the Windows SDK. This way you can write a simple application that you print them out.

Alternatively, you can open regedit, go to HKCR \ Interface and parse the entries there.

0


source







All Articles