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.