ComPtr クラス

 

Visual Studio 2017 RC の最新のドキュメントの詳細については、Visual Studio 2017 RC ドキュメントをご参照ください。

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

template <  
   typename T  
>  
class ComPtr;  
  
template<  
   class U  
>  
friend class ComPtr;  

パラメーター

T
ComPtr が表すインターフェイス。

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

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

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

パブリック typedef

名前説明
InterfaceTypeT テンプレート パラメーターで指定された型のシノニム。

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

名前説明
ComPtr::ComPtr コンストラクターComPtr クラスの新しいインスタンスを初期化します。 オーバーロードは、既定、コピー、移動、および変換の各コンストラクターを提供します。
ComPtr::~ComPtr デストラクターComPtr のインスタンスを初期化解除します。

パブリック メソッド

名前説明
ComPtr::As メソッド指定されたテンプレート パラメーターで識別されるインターフェイスを表す ComPtr オブジェクトを返します。
ComPtr::AsIID メソッド指定されたインターフェイス ID で識別されるインターフェイスを表す ComPtr オブジェクトを返します。
ComPtr::AsWeak メソッド現在のオブジェクトへの弱い参照を取得します。
ComPtr::Attach メソッドこの ComPtr と、現在のテンプレート型パラメーターで指定されたインターフェイスの種類を関連付けます。
ComPtr::CopyTo メソッドこの ComPtr に関連付けられた現在のまたは指定されたインターフェイスを、指定された出力ポインターにコピーします。
ComPtr::Detach メソッドこの ComPtr が表すインターフェイスからその関連付けを解除します。
ComPtr::Get メソッドこの ComPtr に関連付けられたインターフェイスへのポインターを取得します。
ComPtr::GetAddressOf メソッドptr_ データ メンバーのアドレスを取得します。これには、この ComPtr によって表されるインターフェイスへのポインターが含まれています。
ComPtr::ReleaseAndGetAddressOf メソッドこの ComPtr に関連付けられたインターフェイスを解放してから、ptr_ データ メンバーのアドレスを取得します。このアドレスには、解放されたインターフェイスへのポインターが含まれています。
ComPtr::Resetこの ComPtr に関連付けられているインターフェイスを指すポインターへのすべての参照を解放します。
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== 演算子2 つの ComPtr オブジェクトが等しいかどうかを示します。
ComPtr::operator!= 演算子2 つの ComPtr オブジェクトが等しくないかどうかを示します。

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

名前説明
ComPtr::ptr_ データ メンバーこの ComPtr に関連付けられ、管理されているインターフェイスへのポインターが含まれています。

ComPtr

ヘッダー: client.h

名前空間: Microsoft::WRL

Microsoft::WRL 名前空間

表示: