Share via


ITypeInfo::CreateInstance

A version of this page is also available for

Windows Embedded CE 6.0 R3

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

See Also

Reference

ITypeInfo
CoCreateInstance
IUnknown