Compartir a través de


CComGITPtr (clase)

Esta clase proporciona métodos que se ocupan de los punteros de interfaz y la tabla de interfaz global (GIT).

Sintaxis

template <class T>
class CComGITPtr

Parámetros

T
Tipo del puntero de interfaz que se va a almacenar en GIT.

Miembros

Constructores públicos

Nombre Descripción
CComGITPtr::CComGITPtr Constructor .
CComGITPtr::~CComGITPtr El destructor .

Métodos públicos

Nombre Descripción
CComGITPtr::Attach Llame a este método para registrar el puntero de interfaz en la tabla de interfaz global (GIT).
CComGITPtr::CopyTo Llame a este método para copiar la interfaz de la tabla de interfaz global (GIT) al puntero pasado.
CComGITPtr::Detach Llame a este método para desasociar la interfaz del objeto CComGITPtr.
CComGITPtr::GetCookie Llame a este método para devolver la cookie del objeto CComGITPtr.
CComGITPtr::Revoke Llame a este método para quitar la interfaz de la tabla de interfaz global (GIT).

Operadores públicos

Nombre Descripción
CComGITPtr::operator DWORD Devuelve la cookie del objeto CComGITPtr.
CComGITPtr::operator = Operador de asignación.

Miembros de datos públicos

Nombre Descripción
CComGITPtr::m_dwCookie La cookie.

Comentarios

Los objetos que agregan el serializador de subprocesos libre y necesitan usar punteros de interfaz obtenidos de otros objetos deben realizar pasos adicionales para garantizar que las interfaces se serializaron correctamente. Normalmente, esto implica almacenar los punteros de interfaz en GIT y obtener el puntero de GIT cada vez que se usa. La clase CComGITPtr se proporciona para ayudarle a usar punteros de interfaz almacenados en GIT.

Nota:

La utilidad de tabla de interfaz global solo está disponible en Windows 95 con DCOM versión 1.1 y posteriores, Windows 98, Windows NT 4.0 con Service Pack 3 y versiones posteriores, y Windows 2000.

Requisitos

Encabezado: atlbase.h

CComGITPtr::Attach

Llame a este método para registrar el puntero de interfaz en la tabla de interfaz global (GIT).

HRESULT Attach(T* p) throw();

HRESULT Attach(DWORD dwCookie) throw();

Parámetros

p
Puntero de interfaz que se va a agregar al GIT.

dwCookie
Cookie usada para identificar el puntero de interfaz.

Valor devuelto

Devuelve S_OK si es correcto o un error HRESULT en caso de error.

Comentarios

En las compilaciones de depuración, se producirá un error de aserción si GIT no es válido o si la cookie es igual a NULL.

CComGITPtr::CComGITPtr

Constructor .

CComGITPtr() throw();
CComGITPtr(T* p);
CComGITPtr(const CComGITPtr& git);
explicit CComGITPtr(DWORD dwCookie) throw();
CComGITPtr(CComGITPtr&& rv);

Parámetros

p
[in] Puntero de interfaz que se va a almacenar en la tabla de interfaz global (GIT).

git
[in] Referencia a un objeto CComGITPtr existente.

dwCookie
[in] Cookie usada para identificar el puntero de interfaz.

rv
[in] Objeto CComGITPtr de origen del que se van a mover los datos.

Comentarios

Crea un nuevo objeto CComGITPtr, opcionalmente mediante un objeto existente CComGITPtr.

El constructor que utiliza rv es un constructor de movimiento. Los datos se mueven del origen, rv y, a continuación, rv se borra.

CComGITPtr::~CComGITPtr

El destructor .

~CComGITPtr() throw();

Comentarios

Quita la interfaz de la tabla de interfaz global (GIT), mediante CComGITPtr::Revoke.

CComGITPtr::CopyTo

Llame a este método para copiar la interfaz de la tabla de interfaz global (GIT) al puntero pasado.

HRESULT CopyTo(T** pp) const throw();

Parámetros

pp
Puntero que se va a recibir la interfaz.

Valor devuelto

Devuelve S_OK si es correcto o un error HRESULT en caso de error.

Comentarios

La interfaz del GIT se copia en el puntero pasado. El autor de la llamada debe liberar el puntero cuando ya no sea necesario.

CComGITPtr::Detach

Llame a este método para desasociar la interfaz del objeto CComGITPtr.

DWORD Detach() throw();

Valor devuelto

Devuelve la cookie del objeto CComGITPtr.

Comentarios

Depende del autor de la llamada quitar la interfaz de GIT mediante CComGITPtr::Revoke.

CComGITPtr::GetCookie

Llame a este método para devolver la cookie del objeto CComGITPtr.

DWORD GetCookie() const;

Valor devuelto

Devuelve la cookie.

Comentarios

La cookie es una variable que se usa para identificar una interfaz y su ubicación.

CComGITPtr::m_dwCookie

La cookie.

DWORD m_dwCookie;

Comentarios

La cookie es una variable miembro que se usa para identificar una interfaz y su ubicación.

CComGITPtr::operator =

Operador de asignación.

CComGITPtr& operator= (T* p);
CComGITPtr& operator= (const CComGITPtr& git);
CComGITPtr& operator= (DWORD dwCookie);
CComGITPtr& operator= (CComGITPtr&& rv);

Parámetros

p
[in] Puntero a una interfaz.

git
[in] Referencia a un objeto CComGITPtr.

dwCookie
[in] Cookie usada para identificar el puntero de interfaz.

rv
[in] CComGITPtr del que se van a mover los datos.

Valor devuelto

Devuelve el objeto CComGITPtr actualizado.

Comentarios

Asigna un nuevo valor a un objeto CComGITPtr, ya sea desde un objeto existente o desde una referencia a una tabla de interfaz global.

CComGITPtr::operator DWORD

Devuelve la cookie asociada al objeto CComGITPtr.

operator DWORD() const;

Comentarios

La cookie es una variable que se usa para identificar una interfaz y su ubicación.

CComGITPtr::Revoke

Llame a este método para quitar la interfaz actual de la tabla de interfaz global (GIT).

HRESULT Revoke() throw();

Valor devuelto

Devuelve S_OK si es correcto o un error HRESULT en caso de error.

Comentarios

Quita la interfaz de GIT.

Consulte también

Contador de referencias de subprocesamiento libre
Acceso a interfaces entre apartamentos
Cuándo usar la tabla de interfaz global
Información general sobre la clase