Partager via


ComPtrRef (classe)

Prend en charge l’infrastructure WRL et n’est pas destinée à être utilisée directement à partir de votre code.

Syntaxe

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

Paramètres

T
Un type ComPtr<T> ou un type dérivé de celui-ci, pas seulement l’interface représentée par le ComPtr.

Notes

Représente une référence à un objet de type ComPtr<T>.

Membres

Constructeurs publics

Nom Description
ComPtrRef ::ComPtrRef Initialise une nouvelle instance de la ComPtrRef classe à partir du pointeur spécifié vers un autre ComPtrRef objet.

Méthodes publiques

Nom Description
ComPtrRef ::GetAddressOf Récupère l’adresse d’un pointeur vers l’interface représentée par l’objet actif ComPtrRef .
ComPtrRef ::ReleaseAndGetAddressOf Supprime l’objet actuel ComPtrRef et retourne un pointeur vers un pointeur vers l’interface qui a été représentée par l’objet ComPtrRef .

Opérateurs publics

Nom Description
ComPtrRef ::operator InterfaceType** Supprime l’objet actuel ComPtrRef et retourne un pointeur vers un pointeur vers l’interface qui a été représentée par l’objet ComPtrRef .
ComPtrRef ::operator T* Retourne la valeur du membre de données ptr_ de l’objet ComPtrRef actuel.
ComPtrRef ::operator void** Supprime l’objet actuel ComPtrRef , convertit le pointeur vers l’interface qui a été représentée par l’objet ComPtrRef en tant que pointeur vers voidpointeur, puis retourne le pointeur de cast.
ComPtrRef ::operator* Récupère le pointeur vers l’interface représentée par l’objet actif ComPtrRef .
ComPtrRef ::operator== Indique si deux objets ComPtrRef sont égaux.
ComPtrRef ::operator != Indique si deux objets ComPtrRef ne sont pas égaux.

Hiérarchie d'héritage

ComPtrRefBase

ComPtrRef

Spécifications

En-tête : client.h

Namespace : Microsoft ::WRL ::D etails

ComPtrRef ::ComPtrRef

Prend en charge l’infrastructure WRL et n’est pas destinée à être utilisée directement à partir de votre code.

ComPtrRef(
   _In_opt_ T* ptr
);

Paramètres

ptr
Valeur sous-jacente d’un autre ComPtrRef objet.

Notes

Initialise une nouvelle instance de la ComPtrRef classe à partir du pointeur spécifié vers un autre ComPtrRef objet.

ComPtrRef ::GetAddressOf

Prend en charge l’infrastructure WRL et n’est pas destinée à être utilisée directement à partir de votre code.

InterfaceType* const * GetAddressOf() const;

Valeur de retour

Adresse d’un pointeur vers l’interface représentée par l’objet actif ComPtrRef .

Notes

Récupère l’adresse d’un pointeur vers l’interface représentée par l’objet actif ComPtrRef .

ComPtrRef ::operator==

Prend en charge l’infrastructure WRL et n’est pas destinée à être utilisée directement à partir de votre code.

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
);

Paramètres

a
Référence à un objet ComPtrRef.

b
Référence à un autre ComPtrRef objet ou pointeur vers un type anonyme (void*).

Valeur de retour

Le premier opérateur génère true si l’objet a une valeur égale à l’objet b ; sinon, false.

Les deuxième et troisième opérateurs produisent true si un objet est égal à nullptr; sinon, false.

Les quatrième et cinquième opérateurs se produisent si l’objet a une valeur égale à l’objet b ; sinon, false.true

Notes

Indique si deux objets ComPtrRef sont égaux.

ComPtrRef ::operator !=

Prend en charge l’infrastructure WRL et n’est pas destinée à être utilisée directement à partir de votre code.

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
);

Paramètres

a
Référence à un objet ComPtrRef.

b
Référence à un autre ComPtrRef objet ou pointeur vers un objet anonyme (void*).

Valeur de retour

Le premier opérateur génère true si l’objet a n’est pas égal à l’objet b ; sinon, false.

Les deuxième et troisième opérateurs produisent true si l’objet a n’est pas égal à nullptr; sinon, false.

Les quatrième et cinquième opérateurs produisent true si l’objet a n’est pas égal à l’objet b ; sinon, false.

Notes

Indique si deux objets ComPtrRef ne sont pas égaux.

ComPtrRef ::operator InterfaceType**

Prend en charge l’infrastructure WRL et n’est pas destinée à être utilisée directement à partir de votre code.

operator InterfaceType**();

Notes

Supprime l’objet actuel ComPtrRef et retourne un pointeur vers un pointeur vers l’interface qui a été représentée par l’objet ComPtrRef .

ComPtrRef ::operator*

Prend en charge l’infrastructure WRL et n’est pas destinée à être utilisée directement à partir de votre code.

InterfaceType* operator *();

Valeur de retour

Pointeur vers l’interface représentée par l’objet actif ComPtrRef .

Notes

Récupère le pointeur vers l’interface représentée par l’objet actif ComPtrRef .

ComPtrRef ::operator T*

Prend en charge l’infrastructure WRL et n’est pas destinée à être utilisée directement à partir de votre code.

operator T*();

Notes

Retourne la valeur du membre de données ptr_ de l’objet actif ComPtrRef .

ComPtrRef ::operator void**

Prend en charge l’infrastructure WRL et n’est pas destinée à être utilisée directement à partir de votre code.

operator void**() const;

Notes

Supprime l’objet actuel ComPtrRef , convertit le pointeur vers l’interface qui a été représentée par l’objet ComPtrRef en tant que pointeur vers voidpointeur, puis retourne le pointeur de cast.

ComPtrRef ::ReleaseAndGetAddressOf

Prend en charge l’infrastructure WRL et n’est pas destinée à être utilisée directement à partir de votre code.

InterfaceType** ReleaseAndGetAddressOf();

Valeur de retour

Pointeur vers l’interface qui a été représentée par l’objet supprimé ComPtrRef .

Notes

Supprime l’objet actuel ComPtrRef et retourne un pointeur vers un pointeur vers l’interface qui a été représentée par l’objet ComPtrRef .