次の方法で共有


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 を参照してください。

解説

メソッドの最初のフォームが呼び出されると CLSID を復元するには、CLSIDFromProgID が使用されます。フォームは両方とも、CoCreateClassInstanceを呼び出します。

デバッグ ビルドでは、アサーション エラーは CComPtrBase::p が null 値と等しくなります。

必要条件

ヘッダー : atlcomcli.h

参照

関連項目

CComPtrBase クラス