COM Class/coclass
A COM class ("coclass") is a concrete implementation of one or more interfaces. Interfaces are closely resembles to abstruct classes in C++. Coclass in a COM server can implement one or more interfaces. Multiple inheritance is used to implement multiple interfaces in same C++ class. Client has to select the desired interface for using an object of the co-class. Each interface will have different GUID or IID and human readable progid. Client should provide CLSID for the Co_Class and interface ID or IID for getting an instance of the co-class from the server. A server can again have one or more co-classes implemented within itself.
COM Class/coclass example
IE com srver implements multiple co-classes. InternetExplorer is one well known co-class inside internet explorer COM server. This coclass implements interfaces like IWebBrowser, IWebBrowser2, IWebBrowserApp. It also handles event interfaces like DWebBrowserEvents and DWebBrowserEvents2.
[
uuid(0002DF01-0000-0000-C000-000000000046), // CLSID_InternetExplorer
helpstring("Internet Explorer Application."),
]
coclass InternetExplorer
{
interface IWebBrowser;
[default] interface IWebBrowser2;
interface IWebBrowserApp;
interface IWebBrowserApp2;
[default, source] dispinterface DWebBrowserEvents2;
[source] dispinterface DWebBrowserEvents;
}
About our authors: Team EQA
You have viewed 1 page out of 67. Your COM/DCOM learning is 0.00% complete. Login to check your learning progress.