This method creates a new instance of a type that describes a component object class (coclass).
At a Glance
Header file: | Oaidl.h |
Windows CE Versions: | 2.0 and later |
Syntax
HRESULT CreateInstance( IUnknown FAR* pUnkOuter, REFIID riid,
VOID FAR* FAR* ppvObj );
Parameters
pUnkOuter
Pointer to the controlling IUnknown. If NULL, then a stand-alone instance is created. If valid, then an aggregate object is created.
riid
Reference to an identifier for the interface that the caller will use to communicate with the resulting object.
ppvObj
On return, pointer to a pointer to an instance of the created object.
Return Value
One of the values described in the following table is returned.
Value | Description |
S_OK | Success. |
E_OUTOFMEMORY | Out of memory. |
TYPE_E_WRONGTYPEKIND | Type mismatch. |
E_INVALIDARG | One or more of the parameters is invalid. |
E_NOINTERFACE | OLE could not find an implementation of one or more required interfaces. |
TYPE_E_UNSUPFORMAT | The type library has an older format. |
TYPE_E_INVALIDSTATE | The type library could not be opened. |
Other return codes | Additional errors may be returned from CoCreateInstance. |
Remarks
For types that describe a component object class (coclass), CreateInstance creates a new instance of the class. Usually, CreateInstance calls CoCreateInstance with the type description’s GUID.