ITypeInfo::CreateInstance

This method creates a new instance of a type that describes a component object class (coclass).

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 Values

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

OS Versions: Windows CE 2.0 and later.
Header: Oaidl.h, Oaidl.idl.
Link Library: Oleaut32.lib, Uuid.lib.

See Also

ITypeInfo | CoCreateInstance | IUnknown

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.