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 を返します。 参照してくださいCoCreateClassInstance と CLSIDFromProgIDこれらのエラーの説明。
解説
このメソッドの 1 番目の形式が呼び出された場合は、CLSID の回復に CLSIDFromProgID が使用されます。 両方の形式とも、CoCreateClassInstance を呼び出します。
デバッグ ビルドでは、CComPtrBase::p が NULL 以外の場合にアサーション エラーが発生します。
必要条件
**ヘッダー:**atlcomcli.h