Partager via


_com_ptr_t, classe

Section spécifique à Microsoft

Un objet _com_ptr_t encapsule un pointeur d’interface COM et est appelé pointeur « intelligent ». Cette classe de modèle gère l’allocation et la désallocation des ressources par le biais d’appels de fonction aux IUnknown fonctions membres : QueryInterface, AddRefet Release.

Un pointeur intelligent est généralement référencé par la définition typedef fournie par la macro _COM_SMARTPTR_TYPEDEF. Cette macro prend un nom d’interface et l’IID et déclare une spécialisation de _com_ptr_t avec le nom de l’interface et un suffixe de Ptr. Par exemple :

_COM_SMARTPTR_TYPEDEF(IMyInterface, __uuidof(IMyInterface));

déclare la spécialisation IMyInterfacePtr_com_ptr_t .

Un ensemble de modèles de fonction, et non membres de cette classe de modèle, prend en charge les comparaisons avec un pointeur intelligent situé à droite de l’opérateur de comparaison.

Construction

Nom Description
_com_ptr_t Construit un objet _com_ptr_t .

Opérations de bas niveau

Nom Description
AddRef Appelle la AddRef fonction membre du pointeur d’interface IUnknown encapsulé.
Attacher Encapsule un pointeur d'interface brut du type de ce pointeur intelligent.
CreateInstance Crée une instance d’un objet donné ou CLSIDProgID.
Détacher Extrait et retourne le pointeur d'interface encapsulé.
GetActiveObject Joint à une instance existante d’un objet donné ou CLSIDProgID.
GetInterfacePtr Retourne le pointeur d'interface encapsulé.
QueryInterface Appelle la QueryInterface fonction membre du pointeur d’interface IUnknown encapsulé.
Version release Appelle la Release fonction membre du pointeur d’interface IUnknown encapsulé.

Opérateurs

Nom Description
operator = Affecte une nouvelle valeur à un objet _com_ptr_t existant.
operators ==, !=, <, >, <=, >= Comparez l’objet pointeur intelligent à un autre pointeur intelligent, pointeur d’interface brut ou NULL.
Extracteurs Récupérez le pointeur d'interface COM encapsulé.

FIN de la section spécifique à Microsoft

Spécifications

Header :<comip.h>

Lib : comsuppw.lib ou comsuppwd.lib (voir /Zc :wchar_t (wchar_t Is Native Type) pour plus d’informations)

Voir aussi

Classes du support COM du compilateur