ITypeInfo::CreateInstance
A version of this page is also available for
4/8/2010
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, oaidl.idl |
Library | oleaut32.lib, uuid.lib |
Windows Embedded CE | Windows CE 2.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |