Share via


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,
oaidl.idl

Library

oleaut32.lib,
uuid.lib

See Also

Reference

ITypeInfo
CoCreateInstance
IUnknown