Partager via


Classe de _com_ptr_t

Spécifique à Microsoft

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

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

_COM_SMARTPTR_TYPEDEF(IMyInterface, __uuidof(IMyInterface));

déclare une spécialisation IMyInterfacePtrd' _com_ptr_t .

Un ensemble de modèles de fonction, pas membres de cette classe de modèle, comparaisons de support 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 d' AddRef d' IUnknown sur le pointeur d'interface encapsulé.

Attacher

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

CreateInstance

crée une nouvelle instance d'un objet donné Le CLSID ou Identificateur programmatique (ProgID).

Détacher

Extraits et retourne un pointeur d'interface encapsulé.

GetActiveObject

Liés à une instance existante d'un objet donné Le CLSID ou Identificateur programmatique (ProgID).

GetInterfacePtr

Retourne un pointeur d'interface encapsulé.

Appeler QueryInterface

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

Release

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

Opérateurs

opérateur =

assigne une nouvelle valeur à un objet existant d' _com_ptr_t .

== d'opérateurs ! =, <, >, <=, >=

Comparez l'objet de pointeur intelligent vers pointeur, un pointeur d'interface brut, ou à un NULLintelligent différent.

extracteurs

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

Configuration requise

en-tête : comip.h

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

Voir aussi

Référence

Classes de prise en charge COM du compilateur