iTypeInfo::CreateInstance 方法 (oaidl.h)

建立型別的新實例,描述 coclass (coclass) 元件對象類別。

語法

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

參數

[in] pUnkOuter

控制 IUnknown。 如果為 Null,則會建立獨立實例。 如果有效,則會建立匯總物件。

[in] riid

呼叫端將用來與結果對象通訊之介面的標識碼。

[out] ppvObj

已建立對象的實例。

傳回值

傳回碼 Description
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