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