_com_ptr_t::CreateInstance

Microsoft 固有の仕様

CLSID または ProgID の指定により、オブジェクトの新しいインスタンスを作成します。

構文

HRESULT CreateInstance(
   const CLSID& rclsid,
   IUnknown* pOuter=NULL,
   DWORD dwClsContext = CLSCTX_ALL
) throw( );
HRESULT CreateInstance(
   LPCWSTR clsidString,
   IUnknown* pOuter=NULL,
   DWORD dwClsContext = CLSCTX_ALL
) throw( );
HRESULT CreateInstance(
   LPCSTR clsidStringA,
   IUnknown* pOuter=NULL,
   DWORD dwClsContext = CLSCTX_ALL
) throw( );

パラメーター

rclsid
オブジェクトの CLSID

clsidString
CLSID (先頭は "{") または ProgID を保持する Unicode 文字列。

clsidStringA
CLSID (先頭が "{") または ProgID を保持する、ANSI コード ページを使用するマルチバイト文字列。

dwClsContext
実行可能コードを実行するコンテキスト。

pOuter
集計で不明な外部の値。

解説

これらのメンバー関数は、CoCreateInstance を呼び出して新しい COM オブジェクトを作成し、このスマート ポインターのインターフェイス型を照会します。 結果のポインターは、この _com_ptr_t オブジェクトの中にカプセル化されます。 Release は、以前にカプセル化されたポインターの参照カウントをデクリメントするために呼び出されます。 このルーチンは、成功または失敗を示すために、HRESULT を返します。

  • CreateInstance(rclsid,dwClsContext)CLSID を与えられたオブジェクトの新しい実行中のインスタンスを作成します。

  • CreateInstance(clsidString,dwClsContext)CLSID("{" で始まる) または ProgID を保持する Unicode 文字列を指定して、オブジェクトの新しい実行インスタンスを作成します

  • CreateInstance(clsidStringA,dwClsContext)CLSID ("{" で始まる) または ProgID を保持するマルチばいと文字列を指定して、オブジェクトの新しい実行インスタンスを作成します。 MultiByteToWideChar を呼び出します。この関数では、文字列は OEM コード ページではなく ANSI コード ページが使用されていることを前提としています。

Microsoft 固有の仕様はここまで

関連項目

_com_ptr_t クラス