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 テンプレート パラメーターによって指定される型のシノニムです。 |
パブリック コンストラクター
名前 |
説明 |
---|---|
Intializes ComPtr クラスの新しいインスタンス。 オーバーロードは既定を提供し、変換コンストラクター コピーされ、移動します。 |
|
Deinitializes ComPtr オブジェクトのインスタンス。 |
パブリック メソッド
名前 |
説明 |
---|---|
指定されたテンプレート パラメーターによって指定されるインターフェイスを表す ComPtr オブジェクトを返します。 |
|
指定されたインターフェイス ID で識別されるインターフェイスを表す ComPtr オブジェクトを返します。 |
|
現在のオブジェクトへの弱い参照を取得します。 |
|
現在のテンプレート型のパラメーターによって指定されたインターフェイス型とこの ComPtr を関連付けます。 |
|
指定された出力ポインターにこの ComPtr オブジェクトに関連付けられている現在のディレクトリまたは指定されたインターフェイスをコピーします。 |
|
表すインターフェイスからこの ComPtr 付けが解除されるだけです。 |
|
この ComPtr オブジェクトに関連付けられたインターフェイスへのポインターを取得します。 |
|
この ComPtr オブジェクトによって表されるインターフェイスへのポインターを含む ptr_ のデータ メンバーのアドレスを取得します。 |
|
この ComPtr オブジェクトに関連付けられたインターフェイスを解放し、解放されたインターフェイスへのポインターを含む ptr_ のデータ メンバーのアドレスを取得します。 |
|
現在の ComPtr オブジェクトによって管理される指定 ComPtr オブジェクトによって管理されるインターフェイスとインターフェイスを交換します。 |
プロテクト メソッド
名前 |
説明 |
---|---|
この ComPtr オブジェクトに関連付けられたインターフェイスの参照カウントをインクリメントします。 |
|
この ComPtr オブジェクトに関連付けられたインターフェイスの COM リリース操作を実行します。 |
パブリック演算子
名前 |
説明 |
---|---|
ComPtr オブジェクトがインターフェイスのオブジェクトの有効期間を管理しているかどうかを示します。 |
|
現在の ComPtr オブジェクトのアドレスを取得します。 |
|
現在の ComPtr に値を割り当てます。 |
|
現在のテンプレート パラメーターによって指定された型へのポインターを取得します。 |
|
ComPtr 2 の二つのオブジェクトが等しいかどうかを示します。 |
|
ComPtr の 2 種類のオブジェクトが異なるかどうかを示します。 |
プロテクト データ メンバー
名前 |
説明 |
---|---|
関連付けられ、この ComPtr オブジェクトによって管理されるインターフェイスへのポインターが格納されます。 |
継承階層
ComPtr
必要条件
ヘッダー: client.h
名前空間: Microsoft::WRL