CComUnkArray (clase)

Esta clase almacena punteros IUnknown y está diseñado para usarse como parámetro para la clase de plantilla IConnectionPointImpl.

Sintaxis

template<unsigned int nMaxSize>
class CComUnkArray

Parámetros

nMaxSize
El número máximo de punteros IUnknown que se pueden contener en una matriz estática.

Miembros

Constructores públicos

Nombre Descripción
CComUnkArray::CComUnkArray Constructor.

Métodos públicos

Nombre Descripción
CComUnkArray::Add Llame a este método para agregar un puntero IUnknown a la matriz.
CComUnkArray::begin Devuelve un puntero al primer puntero IUnknown de la colección.
CComUnkArray::end Devuelve un puntero a un elemento más allá del último puntero IUnknown de la colección.
CComUnkArray::GetCookie Llame a este método para obtener la cookie asociada a un puntero IUnknown especificado.
CComUnkArray::GetUnknown Llame a este método para obtener el puntero IUnknown asociado a una cookie determinada.
CComUnkArray::Remove Llame a este método para quitar un puntero IUnknown de la matriz.

Comentarios

CComUnkArray contiene un número fijo de punteros IUnknown, a cada uno de las interfaces de un punto de conexión. CComUnkArray se puede usar como parámetro de la clase de plantilla IConnectionPointImpl. CComUnkArray<1> es una especialización de plantilla de CComUnkArray que se ha optimizado para un punto de conexión.

Los métodos CComUnkArraybegin y end se pueden usar para hacer un bucle con todos los puntos de conexión (por ejemplo, cuando se desencadena un evento).

Consulte Agregar puntos de conexión a un objeto para obtener más información sobre cómo automatizar la creación de servidores proxy de punto de conexión.

Nota:

Nota La clase CComDynamicUnkArray la usa el Asistente para Agregar clase al crear un control que tenga puntos de conexión. Si desea especificar manualmente el número de puntos de conexión, cambie la referencia de CComDynamicUnkArray a CComUnkArray<n>, donde n es el número de puntos de conexión necesarios.

Requisitos

Encabezado: atlcom.h

CComUnkArray::Add

Llame a este método para agregar un puntero IUnknown a la matriz.

DWORD Add(IUnknown* pUnk);

Parámetros

pUnk
Llame a este método para agregar un puntero IUnknown a la matriz.

Valor devuelto

Devuelve la cookie asociada al puntero recién agregado o 0 si la matriz no es lo suficientemente grande como para contener el nuevo puntero.

CComUnkArray::begin

Devuelve un puntero al principio de la colección de punteros de interfaz IUnknown.

IUnknown**
    begin();

Valor devuelto

Puntero a un puntero de interfaz IUnknown.

Comentarios

La colección contiene punteros a interfaces almacenadas localmente como IUnknown. Convierte cada interfaz IUnknown en el tipo de interfaz real y, a continuación, llama a través de ella. No es necesario que consulte la interfaz primero.

Antes de usar la interfaz IUnknown, debe comprobar que no es NULL.

CComUnkArray::CComUnkArray

Constructor .

CComUnkArray();

Comentarios

Establece la colección para contener punteros nMaxSizeIUnknown e inicializa los punteros a null.

CComUnkArray::end

Devuelve un puntero a un elemento más allá del último puntero IUnknown de la colección.

IUnknown**
    end();

Valor devuelto

Puntero a un puntero de interfaz IUnknown.

Comentarios

Los métodos CComUnkArraybegin y end se pueden usar para recorrer en bucle todos los puntos de conexión, por ejemplo, cuando se desencadena un evento.

IUnknown** p = m_vec.begin();
while(p != m_vec.end())
{
   // Do something with *p
   p++;
}

CComUnkArray::GetCookie

Llame a este método para obtener la cookie asociada a un puntero IUnknown especificado.

DWORD WINAPI GetCookie(IUnknown** ppFind);

Parámetros

ppFind
Puntero IUnknown para el que se requiere la cookie asociada.

Valor devuelto

Devuelve la cookie asociada al puntero IUnknown o 0 si no se encuentra ningún puntero IUnknown coincidente.

Comentarios

Si hay más de una instancia del mismo puntero IUnknown, esta función devuelve la cookie para la primera.

CComUnkArray::GetUnknown

Llame a este método para obtener el puntero IUnknown asociado a una cookie determinada.

IUnknown* WINAPI GetUnknown(DWORD dwCookie);

Parámetros

dwCookie
Cookie para la que se requiere el puntero IUnknown asociado.

Valor devuelto

Devuelve el puntero IUnknown o NULL si no se encuentra ninguna cookie coincidente.

CComUnkArray::Remove

Llame a este método para quitar un puntero IUnknown de la matriz.

BOOL Remove(DWORD dwCookie);

Parámetros

dwCookie
Cookie que hace referencia al puntero IUnknown que se va a quitar de la matriz.

Valor devuelto

Devuelve TRUE si se quita el puntero, FALSE de lo contrario.

Consulte también

CComDynamicUnkArray (clase)
Información general sobre la clase