_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
, AddRef
et 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 en fonction d’un CLSID ou d’un ProgID . |
Détacher | Extrait et retourne le pointeur d'interface encapsulé. |
GetActiveObject | S’attache à une instance existante d’un objet en fonction d’un CLSID ou d’un ProgID . |
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)