次の方法で共有


ComPtr クラス

テンプレート パラメーターで指定されたインターフェイスを表す スマート ポインター 型を作成します。 ComPtr オブジェクトは自動的に参照カウントがゼロになると、基のインターフェイス ポインターの参照カウントを保持し、インターフェイスを解放します。

template <
   typename T
>
class ComPtr;

template<
   class U
>
friend class ComPtr;

パラメーター

  • T
    ComPtr オブジェクトが表すインターフェイス。

  • U
    現在の ComPtr がフレンドであるクラス。このパラメーターを使用するテンプレートが保護されます)。

解説

ComPtr は<> 基のインターフェイス ポインターを表す型を宣言します。 変数を<> 宣言し、インターフェイス メンバー関数にアクセスするための矢印のメンバー アクセス演算子 (->) を使用するために ComPtr オブジェクトを使用します。

スマート ポインターの詳細については、MSDN ライブラリの COM Coding Practices 「の" COM スマート ポインター」サブセクションを参照します。

メンバー

パブリック typedef

名前

説明

InterfaceType

T テンプレート パラメーターによって指定される型のシノニムです。

パブリック コンストラクター

名前

説明

ComPtr::ComPtr コンストラクター

Intializes ComPtr クラスの新しいインスタンス。 オーバーロードは既定を提供し、変換コンストラクター コピーされ、移動します。

ComPtr::~ComPtr デストラクター

Deinitializes ComPtr オブジェクトのインスタンス。

パブリック メソッド

名前

説明

ComPtr::As メソッド

指定されたテンプレート パラメーターによって指定されるインターフェイスを表す ComPtr オブジェクトを返します。

ComPtr::AsIID メソッド

指定されたインターフェイス ID で識別されるインターフェイスを表す ComPtr オブジェクトを返します。

ComPtr::AsWeak メソッド

現在のオブジェクトへの弱い参照を取得します。

ComPtr::Attach メソッド

現在のテンプレート型のパラメーターによって指定されたインターフェイス型とこの ComPtr を関連付けます。

ComPtr::CopyTo メソッド

指定された出力ポインターにこの ComPtr オブジェクトに関連付けられている現在のディレクトリまたは指定されたインターフェイスをコピーします。

ComPtr::Detach メソッド

表すインターフェイスからこの ComPtr 付けが解除されるだけです。

ComPtr::Get メソッド

この ComPtr オブジェクトに関連付けられたインターフェイスへのポインターを取得します。

ComPtr::GetAddressOf メソッド

この ComPtr オブジェクトによって表されるインターフェイスへのポインターを含む ptr_ のデータ メンバーのアドレスを取得します。

ComPtr::ReleaseAndGetAddressOf メソッド

この ComPtr オブジェクトに関連付けられたインターフェイスを解放し、解放されたインターフェイスへのポインターを含む ptr_ のデータ メンバーのアドレスを取得します。

ComPtr::Swap メソッド

現在の ComPtr オブジェクトによって管理される指定 ComPtr オブジェクトによって管理されるインターフェイスとインターフェイスを交換します。

プロテクト メソッド

名前

説明

ComPtr::InternalAddRef メソッド

この ComPtr オブジェクトに関連付けられたインターフェイスの参照カウントをインクリメントします。

ComPtr::InternalRelease メソッド

この ComPtr オブジェクトに関連付けられたインターフェイスの COM リリース操作を実行します。

パブリック演算子

名前

説明

ComPtr::operator Microsoft::WRL::Details::BoolType 演算子

ComPtr オブジェクトがインターフェイスのオブジェクトの有効期間を管理しているかどうかを示します。

ComPtr::operator& 演算子

現在の ComPtr オブジェクトのアドレスを取得します。

ComPtr::operator= 演算子

現在の ComPtr に値を割り当てます。

ComPtr::operator-> 演算子

現在のテンプレート パラメーターによって指定された型へのポインターを取得します。

ComPtr::operator== 演算子

ComPtr 2 の二つのオブジェクトが等しいかどうかを示します。

ComPtr::operator!= 演算子

ComPtr の 2 種類のオブジェクトが異なるかどうかを示します。

プロテクト データ メンバー

名前

説明

ComPtr::ptr_ データ メンバー

関連付けられ、この ComPtr オブジェクトによって管理されるインターフェイスへのポインターが格納されます。

継承階層

ComPtr

必要条件

ヘッダー: client.h

名前空間: Microsoft::WRL

参照

関連項目

Microsoft::WRL 名前空間