CoRegisterClassObject (OLE32.@)
HRESULT CoRegisterClassObject ( REFCLSID rclsid, LPUNKNOWN pUnk, DWORD dwClsContext, DWORD flags, LPDWORD lpdwRegister )
Registers the class object for a given class ID. Servers housed in EXE files use this method instead of exporting DllGetClassObject to allow other code to connect to their objects.
rclsid | [In] | CLSID of the object to register. |
pUnk | [In] | IUnknown of the object. |
dwClsContext | [In] | CLSCTX flags indicating the context in which to run the executable. |
flags | [In] | REGCLS flags indicating how connections are made. |
lpdwRegister | [In] | A unique cookie that can be passed to CoRevokeClassObject. |
S_OK on success, E_INVALIDARG if lpdwRegister or pUnk are NULL, CO_E_OBJISREG if the object is already registered. We should not return this.
CoRevokeClassObject, CoGetClassObject.
In-process objects are only registered for the current apartment. CoGetClassObject and CoCreateInstance will not return objects registered in other apartments.
MSDN claims that multiple interface registrations are legal, but we can't do that with our current implementation.
Defined in "objbase.h".
Implemented in "dlls/ole32/compobj.c". source.winehq.org/source/dlls/ole32/compobj.c
Debug channel "ole".
Copyright © 2008 The Wine Project. All trademarks are the property of their respective owners. Visit WineHQ for license details. Generated Jul 2008.