_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)