Compartir a través de


Clase de _com_ptr_t

Específicos de Microsoft

Un objeto de _com_ptr_t encapsula un puntero de interfaz COM y se llama a un puntero “inteligente”.Esta clase de plantilla administra la asignación de recursos y la desasignación con llamadas a las funciones miembro de IUnknown : QueryInterface, AddRef, y Liberar.

Un puntero inteligente hace referencia normalmente por definición typedef proporcionada por la macro de _COM_SMARTPTR_TYPEDEF .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 IMyInterfacePtrde _com_ptr_t .

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

Construcción

_com_ptr_t

Crea un objeto _com_ptr_t.

operaciones de bajo nivel

AddRef

Llama a la función miembro de AddRef de IUnknown en el puntero encapsulado de interfaz.

Asociar

Encapsula un puntero sin formato de la interfaz del tipo de este puntero inteligente.

CreateInstance

Crea una nueva instancia de un objeto determinado Id. de clase o ProgID.

Desasociar

Extrae y devuelve el puntero encapsulado de interfaz.

GetActiveObject

Adjunta a una instancia existente de un objeto determinado Id. de clase o ProgID.

GetInterfacePtr

Devuelve el puntero encapsulado de interfaz.

QueryInterface

Llama a la función miembro de QueryInterface de IUnknown en el puntero encapsulado de interfaz.

Versión de lanzamiento

Llama a la función miembro de Liberar de IUnknown en el puntero encapsulado de interfaz.

Operadores

operador =

asigna un nuevo valor a un objeto existente de _com_ptr_t .

¡== de operadores! =, <, >, <=, >=

Compare el objeto de puntero inteligente a otro puntero inteligente, el puntero sin formato de interfaz, o a NULL.

extractores

Extrae el puntero encapsulado de interfaz COM.

Requisitos

encabezado: comip.h

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

Vea también

Referencia

Clases de compatibilidad con COM del compilador