Partager via


_com_ptr_t, classe

Section spécifique à Microsoft

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

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

_COM_SMARTPTR_TYPEDEF(IMyInterface, __uuidof(IMyInterface));

déclare la spécialisation _com_ptr_t IMyInterfacePtr.

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

Construction

_com_ptr_t

Construit un objet _com_ptr_t.

Opérations de bas niveau

AddRef

Appelle la fonction membre AddRef de IUnknown sur le pointeur d'interface encapsulé.

Attach

Encapsule un pointeur d'interface brut du type de ce pointeur intelligent.

CreateInstance

Crée une nouvelle instance d'un objet avec un CLSID ou ProgID.

Detach

Extrait et retourne le pointeur d'interface encapsulé.

GetActiveObject

S'attache à une instance existante d'un objet doté d'un CLSID ou ProgID.

GetInterfacePtr

Retourne le pointeur d'interface encapsulé.

QueryInterface

Appelle la fonction membre QueryInterface de IUnknown sur le pointeur d'interface encapsulé.

Release

Appelle la fonction membre Release de IUnknown sur le pointeur d'interface encapsulé.

Opérateurs

opérateur =

Assigne une nouvelle valeur à un objet _com_ptr_t existant.

operators ==, !=, <, >, <=, >=

Comparent l'objet pointeur intelligent avec un autre pointeur intelligent, un pointeur d'interface brut ou NULL.

Extracteurs

Récupérez le pointeur d'interface COM encapsulé.

Configuration requise

En-tête : comip.h

Bibliothèque : comsuppw.lib ou comsuppwd.lib (voir /Zc:wchar_t (wchar_t est un type natif) pour plus d'informations)

Voir aussi

Référence

Classes du support COM du compilateur