HRESULT CreateInstance(
IUnknown FAR* pUnkOuter,
REFIID riid,
VOID FAR* FAR* ppvObj
);
Creates a new instance of a type that describes a component object class (coclass).
The return value obtained from the returned HRESULT is one of the following:
Return value | Meaning |
---|---|
S_OK | Success. |
E_OUTOFMEMORY | Out of memory. |
TYPE_E_WRONGTYPEKIND | Type mismatch. |
E_INVALIDARG | One or more of the arguments 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 GetActiveObject or CoCreateInstance. |
For types that describe a component object class (coclass), CreateInstance creates a new instance of the class. Normally, CreateInstance calls CoCreateInstance with the type description's GUID. For an Application object, it first calls GetActiveObject. If the application is active, GetActiveObject returns the active object; otherwise, if GetActiveObject fails, CreateInstance calls CoCreateInstance.