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 を参照してください。
解説
メソッドの最初のフォームが呼び出されると CLSID を復元するには、CLSIDFromProgID が使用されます。フォームは両方とも、CoCreateClassInstanceを呼び出します。
デバッグ ビルドでは、アサーション エラーは CComPtrBase::p が null 値と等しくなります。
必要条件
ヘッダー : atlcomcli.h