ITypeInfo::CreateInstance 方法 (oaidl.h)

创建一个类型的新实例,该实例描述组件对象类 (coclass) 。

语法

HRESULT CreateInstance(
  [in]  IUnknown *pUnkOuter,
  [in]  REFIID   riid,
  [out] PVOID    *ppvObj
);

参数

[in] pUnkOuter

控制 IUnknown。 如果为 Null,则创建独立实例。 如果有效,则创建聚合对象。

[in] riid

调用方将用来与生成的对象通信的接口的 ID。

[out] ppvObj

创建的 对象的实例。

返回值

返回代码 说明
S_OK
成功。
E_INVALIDARG
一个或多个参数无效。
E_OUTOFMEMORY
内存不足,无法完成操作。
E_NOINTERFACE
OLE 找不到一个或多个所需接口的实现。
 

可能会从 GetActiveObjectCoCreateInstance 返回其他错误。

注解

对于描述组件对象类的类型 (coclass ) ,CreateInstance 将创建类的新实例。 通常, CreateInstance 使用类型说明的 GUID 调用 CoCreateInstance 。 对于 Application 对象,它首先调用 GetActiveObject。 如果应用程序处于活动状态, GetActiveObject 将返回活动对象;否则,如果 GetActiveObject 失败, CreateInstance 将调用 CoCreateInstance

要求

要求
目标平台 Windows
标头 oaidl.h

另请参阅

ITypeInfo