CComPtrBase::CoCreateInstance

更新 : 2007 年 11 月

指定されたクラス ID またはプログラム ID に関連付けられているクラスのオブジェクトを作成します。

HRESULT CoCreateInstance(
   LPCOLESTR szProgID,
   LPUNKNOWN pUnkOuter = NULL,
   DWORD dwClsContext = CLSCTX_ALL 
) throw( );
HRESULT CoCreateInstance(
   REFCLSID rclsid,
   LPUNKNOWN pUnkOuter = NULL,
   DWORD dwClsContext = CLSCTX_ALL 
) throw( );

パラメータ

  • szProgID
    CLSID の回復に使用される ProgID へのポインタ。

  • pUnkOuter
    NULL の場合、オブジェクトは集約の一部として作成されません。NULL 以外の場合は、集約オブジェクトの IUnknown インターフェイス (制御側の IUnknown) へのポインタです。

  • dwClsContext
    新規作成されたオブジェクトを管理するコードが実行されるコンテキスト。

  • rclsid
    オブジェクトの作成に使用されるデータとコードに関連付けられている CLSID。

戻り値

正常に終了した場合は、S_OK を返します。それ以外の場合は、REGDB_E_CLASSNOTREG、CLASS_E_NOAGGREGATION、E_NOINTERFACE のいずれかを返します。これらのエラーについては、「CoCreateInstance」を参照してください。

解説

このメソッドの 1 番目の形式が呼び出された場合は、CLSID の回復に CLSIDFromProgID が使用されます。両方の形式とも、CoCreateClassInstance を呼び出します。

デバッグ ビルドでは、CComPtrBase::p が NULL 以外の場合にアサーション エラーが発生します。

必要条件

ヘッダー : atlcomcli.h

参照

参照

CComPtrBase クラス

その他の技術情報

CComPtrBase のメンバ