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
创建的 对象的实例。
返回值
返回代码 | 说明 |
---|---|
|
成功。 |
|
一个或多个参数无效。 |
|
内存不足,无法完成操作。 |
|
OLE 找不到一个或多个所需接口的实现。 |
可能会从 GetActiveObject 或 CoCreateInstance 返回其他错误。
注解
对于描述组件对象类的类型 (coclass ) ,CreateInstance 将创建类的新实例。 通常, CreateInstance 使用类型说明的 GUID 调用 CoCreateInstance 。 对于 Application 对象,它首先调用 GetActiveObject。 如果应用程序处于活动状态, GetActiveObject 将返回活动对象;否则,如果 GetActiveObject 失败, CreateInstance 将调用 CoCreateInstance。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | oaidl.h |