次の方法で共有


CComPtrBase::CoCreateInstance

指定されたクラス 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、CO_E_CLASSSTRING または E_NOINTERFACE を返します。 参照してくださいCoCreateClassInstanceCLSIDFromProgIDこれらのエラーの説明。

解説

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

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

必要条件

**ヘッダー:**atlcomcli.h

参照

参照

CComPtrBase クラス

その他の技術情報

CComPtrBase のメンバー