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 CComUnkArray
begin 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 que contiene nMaxSize
IUnknown
punteros e inicializa los punteros en 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 CComUnkArray
begin
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