CoCreateInstance (OLE32.@)
HRESULT CoCreateInstance ( REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID* ppv )
Creates an instance of the specified class.
rclsid | [In] | Class Id to create an instance of. |
pUnkOuter | [In] | Optional outer unknown to allow aggregation with another object. |
dwClsContext | [In] | Flags to restrict the location of the created instance. |
iid | [In] | The Id of the interface of the instance to return. |
ppv | [Out] | On returns, contains a pointer to the specified interface of the instance. |
Success: S_OK
Failure: HRESULT code.
The dwClsContext parameter can be one or more of the following:
CLSCTX_INPROC_SERVER - Use an in-process server, such as from a DLL. CLSCTX_INPROC_HANDLER - Use an in-process object which handles certain functions for an object running in another process. CLSCTX_LOCAL_SERVER - Connect to an object running in another process. CLSCTX_REMOTE_SERVER - Connect to an object running on another machine.
Aggregation is the concept of deferring the IUnknown of an object to another object. This allows a separate object to behave as though it was part of the object and to allow this the pUnkOuter parameter can be set. Note that not all objects support having an outer of unknown.
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 Nov 2008.