Partager via


ComPtr, classe

Crée un type de pointeur intelligent représentant l'interface spécifiée par le paramètre de modèle. ComPtr met à jour automatiquement un décompte de références du pointeur d'interface sous-jacent et libère l'interface lorsque le décompte de références atteint zéro.

template <
   typename T
>
class ComPtr;

template<
   class U
>
friend class ComPtr;

Paramètres

  • T
    L'interface que le ComPtr représente.

  • U
    Une classe pour laquelle le ComPtr actuel est un ami. (Le modèle utilisant ce paramètre est protégé.)

Remarques

ComPtr<>déclare un type représentant le pointeur d'interface sous-jacent. Utilisez ComPtr<> pour déclarer une variable puis utilisez l'opérateur d'accès de membre flèche (->) pour accéder à une fonction membre d'interface.

Pour plus d'informations sur les pointeurs intelligents, consultez la sous-section « Pointeurs intelligents COM » de la rubrique COM Coding Practices dans la bibliothèque MSDN.

Membres

Typedefs publics

Nom

Description

InterfaceType

Un synonyme du type spécifié par le paramètre de modèle T.

Constructeurs publics

Nom

Description

ComPtr::ComPtr, constructeur

Initialise une nouvelle instance de la classe ComPtr. Les surcharges fournissent un constructeur par défaut, un constructeur de copie, un constructeur de déplacement, ainsi qu'un constructeur de conversion.

ComPtr::~ComPtr, destructeur

Libère une instance de ComPtr.

M&#233;thodes publiques

Nom

Description

ComPtr::As, méthode

Retourne un objet ComPtr représentant l'interface identifiée par le paramètre de modèle spécifié.

ComPtr::AsIID, méthode

Retourne un objet ComPtr représentant l'interface identifiée par l'ID d'interface spécifié.

ComPtr::AsWeak, méthode

Extrait une référence faible à l'objet actif.

ComPtr::Attach, méthode

Associe ce ComPtr avec le type d'interface spécifié par le paramètre de type de modèle actuel.

ComPtr::CopyTo, méthode

Copie l'interface actuelle ou spécifiée associée à ce ComPtr vers le pointeur de sortie spécifié.

ComPtr::Detach, méthode

Dissocie ce ComPtr de l'interface qu'il représente.

ComPtr::Get, méthode

Récupère un pointeur vers l'interface associée à ce ComPtr.

ComPtr::GetAddressOf, méthode

Récupère l'adresse du membre de données ptr_, contenant un pointeur vers l'interface représentée par ce ComPtr.

ComPtr::ReleaseAndGetAddressOf, méthode

Libère l'interface associée à ce ComPtr puis récupère l'adresse du membre de données ptr_, qui contient un pointeur vers l'interface fournie.

ComPtr::Swap, méthode

Echange l'interface managée par le ComPtr actuel avec l'interface managée par le ComPtr spécifié.

Méthodes protégées

Nom

Description

ComPtr::InternalAddRef, méthode

Incrémente le décompte de références de l'interface associée à ce ComPtr.

ComPtr::InternalRelease, méthode

Effectue une opération Release de COM sur l'interface associée à ce ComPtr.

Op&#233;rateurs publics

Nom

Description

ComPtr::operator Microsoft::WRL::Details::BoolType, opérateur

Indique si un ComPtr gère la durée de vie d'une interface ou non.

ComPtr::operator&, opérateur

Récupère l'adresse du ComPtr actuel.

ComPtr::operator=, opérateur

Assigne une valeur au ComPtr actuel.

ComPtr::operator->, opérateur

Récupère un pointeur vers le type spécifié par le paramètre de modèle actuel.

ComPtr::operator==, opérateur

Indique si deux objets ComPtr sont égaux.

ComPtr::operator!=, opérateur

Indique si deux objets ComPtr ne sont pas égaux.

Données membres protégées

Nom

Description

ComPtr::ptr_, données de membre

Contient un pointeur vers l'interface associée à, et gérée par ce ComPtr.

Hiérarchie d'héritage

ComPtr

Configuration requise

En-tête : client.h

Espace de noms : Microsoft::WRL

Voir aussi

Référence

Microsoft::WRL, espace de noms