ITypeInfo::CreateInstance (Compact 2013)
3/26/2014
This method creates a new instance of a type that describes a component object class (coclass).
Syntax
HRESULT CreateInstance(
IUnknown FAR* pUnkOuter,
REFIID riid,
VOID FAR* FAR* ppvObj
);
Parameters
- pUnkOuter
[in] Pointer to the controlling IUnknown. If NULL, then a stand-alone instance is created. If valid, then an aggregate object is created.
- riid
[in] Reference to an identifier for the interface that the caller will use to communicate with the resulting object.
- ppvObj
[out] On return, pointer to a pointer to an instance of the created object.
Return Value
The following table shows the return values for this function.
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.
Requirements
Header |
oaidl.h, |
Library |
oleaut32.lib, |