次の方法で共有


ComPtrRef クラス

WRL インフラストラクチャをサポートします。コードから直接使用するためのものではありません。

構文

template <typename T>
class ComPtrRef : public ComPtrRefBase<T>;

パラメーター

T
ComPtr<T> 型またはそこから派生した型は、ComPtr によって表される単なるインターフェイスではありません。

解説

ComPtr<T> のオブジェクトへの参照を表します。

メンバー

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

名前 説明
ComPtrRef::ComPtrRef 指定した他の ComPtrRef オブジェクトから ComPtrRef クラスの新しいインスタンスを初期化します。

パブリック メソッド

名前 説明
ComPtrRef::GetAddressOf 現在 ComPtrRef のオブジェクトによって表されるインターフェイスへのポインターのアドレスを取得します。
ComPtrRef::ReleaseAndGetAddressOf 現在の ComPtrRef オブジェクトを削除し、ComPtrRef オブジェクトによって表現されていたインタフェースへの pointer-to-a-pointer を返します。

パブリック演算子

名前 説明
ComPtrRef::operator InterfaceType** 現在の ComPtrRef オブジェクトを削除し、ComPtrRef オブジェクトによって表現されていたインタフェースへの pointer-to-a-pointer を返します。
ComPtrRef::operator T* 現在の ComPtrRef オブジェクトの ptr_ データ メンバーの値を返します。
ComPtrRef::operator void** 現在の ComPtrRef オブジェクトを削除し、ComPtrRef オブジェクトによって表現されていたインタフェースへのポインターを void への pointer-to-pointer にキャストし、キャストしたポインターを返します。
ComPtrRef::operator* 現在 ComPtrRef のオブジェクトによって表されるインターフェイスへのポインターを取得します。
ComPtrRef::operator== 2 つの ComPtrRef オブジェクトが等しいかどうかを示します。
ComPtrRef::operator!= 2 つの ComPtrRef オブジェクトが等しくないかどうかを示します。

継承階層

ComPtrRefBase

ComPtrRef

要件

ヘッダー: client.h

名前空間: Microsoft::WRL::Details

ComPtrRef::ComPtrRef

WRL インフラストラクチャをサポートします。コードから直接使用するためのものではありません。

ComPtrRef(
   _In_opt_ T* ptr
);

パラメーター

ptr
別の ComPtrRef オブジェクトの基礎となる値です。

解説

指定した他の ComPtrRef オブジェクトから ComPtrRef クラスの新しいインスタンスを初期化します。

ComPtrRef::GetAddressOf

WRL インフラストラクチャをサポートします。コードから直接使用するためのものではありません。

InterfaceType* const * GetAddressOf() const;

戻り値

現在 ComPtrRef のオブジェクトによって表されるインターフェイスへのポインターのアドレス。

解説

現在 ComPtrRef のオブジェクトによって表されるインターフェイスへのポインターのアドレスを取得します。

ComPtrRef::operator==

WRL インフラストラクチャをサポートします。コードから直接使用するためのものではありません。

bool operator==(
   const Details::ComPtrRef<ComPtr<T>>& a,
   const Details::ComPtrRef<ComPtr<U>>& b
);

bool operator==(
   const Details::ComPtrRef<ComPtr<T>>& a,
   decltype(__nullptr)
);

bool operator==(
   decltype(__nullptr),
   const Details::ComPtrRef<ComPtr<T>>& a
);

bool operator==(
   const Details::ComPtrRef<ComPtr<T>>& a,
   void* b
);

bool operator==(
   void* b,
   const Details::ComPtrRef<ComPtr<T>>& a
);

パラメーター

a
ComPtrRef オブジェクトへの参照です。

b
別の ComPtrRef オブジェクトへの参照、または匿名型 (void*) へのポインター。

戻り値

オブジェクト a がオブジェクト b と等しい場合、最初の演算子は true を生成します。それ以外の場合は false を生成します。

オブジェクト anullptr と等しい場合、2 番目と 3 番目の演算子は true を生成します。それ以外の場合は false を生成します。

4 番目と 5 番目の演算子は、オブジェクト a がオブジェクト b と等しい場合は true を、そうでない場合は false を生成します。

解説

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

ComPtrRef::operator!=

WRL インフラストラクチャをサポートします。コードから直接使用するためのものではありません。

bool operator!=(
   const Details::ComPtrRef<ComPtr<T>>& a,
   const Details::ComPtrRef<ComPtr<U>>& b
);

bool operator!=(
   const Details::ComPtrRef<ComPtr<T>>& a,
   decltype(__nullptr)
);

bool operator!=(
   decltype(__nullptr),
   const Details::ComPtrRef<ComPtr<T>>& a
);

bool operator!=(
   const Details::ComPtrRef<ComPtr<T>>& a,
   void* b
);

bool operator!=(
   void* b,
   const Details::ComPtrRef<ComPtr<T>>& a
);

パラメーター

a
ComPtrRef オブジェクトへの参照です。

b
別の ComPtrRef オブジェクトへの参照、または匿名オブジェクト (void*) へのポインター。

戻り値

オブジェクト a がオブジェクト b と等しくない場合、最初の演算子は true を生成します。それ以外の場合は false を生成します。

オブジェクト anullptr と等しくない場合、2 番目と 3 番目の演算子は true を生成します。それ以外の場合は false を生成します。

4 番目と 5 番目の演算子は、オブジェクト a がオブジェクト b と等しくない場合は true を、そうでない場合は false を生成します。

解説

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

ComPtrRef::operator InterfaceType**

WRL インフラストラクチャをサポートします。コードから直接使用するためのものではありません。

operator InterfaceType**();

解説

現在の ComPtrRef オブジェクトを削除し、ComPtrRef オブジェクトによって表現されていたインタフェースへの pointer-to-a-pointer を返します。

ComPtrRef::operator*

WRL インフラストラクチャをサポートします。コードから直接使用するためのものではありません。

InterfaceType* operator *();

戻り値

現在 ComPtrRef のオブジェクトによって表されるインターフェイスへのポインター。

解説

現在 ComPtrRef のオブジェクトによって表されるインターフェイスへのポインターを取得します。

ComPtrRef::operator T*

WRL インフラストラクチャをサポートします。コードから直接使用するためのものではありません。

operator T*();

解説

現在の ComPtrRef オブジェクトの ptr_ データ メンバーの値を返します。

ComPtrRef::operator void**

WRL インフラストラクチャをサポートします。コードから直接使用するためのものではありません。

operator void**() const;

解説

現在の ComPtrRef オブジェクトを削除し、ComPtrRef オブジェクトによって表現されていたインタフェースへのポインターを void への pointer-to-pointer にキャストし、キャストしたポインターを返します。

ComPtrRef::ReleaseAndGetAddressOf

WRL インフラストラクチャをサポートします。コードから直接使用するためのものではありません。

InterfaceType** ReleaseAndGetAddressOf();

戻り値

この削除された ComPtrRef オブジェクトによって表されたインターフェイスへのポインター。

解説

現在の ComPtrRef オブジェクトを削除し、ComPtrRef オブジェクトによって表現されていたインタフェースへの pointer-to-a-pointer を返します。