_com_ptr_t (Clase)

Específicos de Microsoft

Un objeto _com_ptr_t encapsula un puntero de interfaz COM que se conoce como puntero "inteligente". Esta clase de plantilla administra la asignación y la desasignación de recursos con llamadas de función a las funciones miembro de IUnknown: QueryInterface, AddRef y Release.

Normalmente, la definición de definición de tipo proporcionada por la macro _COM_SMARTPTR_TYPEDEF hace referencia a un puntero inteligente. Esta macro toma un nombre de interfaz y el IID, y declara una especialización de _com_ptr_t con el nombre de la interfaz más un sufijo de Ptr. Por ejemplo:

_COM_SMARTPTR_TYPEDEF(IMyInterface, __uuidof(IMyInterface));

declara la especialización IMyInterfacePtr de _com_ptr_t.

Un conjunto de plantillas de función, no miembros de esta clase de plantilla, admite comparaciones con un puntero inteligente a la derecha del operador de comparación.

Construcción

Nombre Descripción
_com_ptr_t Construye un objeto _com_ptr_t.

Operaciones de bajo nivel

Nombre Descripción
AddRef Llama a la función miembro AddRef de IUnknown en el puntero de interfaz encapsulado.
Adjuntar Encapsula un puntero de interfaz sin formato del tipo de este puntero inteligente.
CreateInstance Crea una nueva instancia de un objeto dado CLSID o ProgID.
Separar Extrae y devuelve el puntero de interfaz encapsulado.
GetActiveObject Se adjunta a una instancia existente de un objeto, dado CLSID o ProgID.
GetInterfacePtr Devuelve el puntero de interfaz encapsulado.
QueryInterface Llama a la función miembro QueryInterface de IUnknown en el puntero de interfaz encapsulado.
Versión Llama a la función miembro Release de IUnknown en el puntero de interfaz encapsulado.

Operadores

Nombre Descripción
operator = Asigna un nuevo valor a un objeto _com_ptr_t existente.
operators ==, !=, <, >, <=, >= Compare el objeto de puntero inteligente con otro puntero inteligente, puntero de interfaz sin formato o NULL.
Extractores Extrae el puntero de interfaz COM encapsulado.

FIN de Específicos de Microsoft

Requisitos

Header:<comip.h>

Biblioteca: comsuppw.lib o comsuppwd.lib (vea /Zc:wchar_t (wchar_t es tipo nativo) para obtener más información)

Consulte también

Clases de compatibilidad con COM del compilador