CComDynamicUnkArray (clase)
Esta clase almacena una matriz de punteros IUnknown
.
Sintaxis
class CComDynamicUnkArray
Miembros
Constructores públicos
Nombre | Descripción |
---|---|
CComDynamicUnkArray::CComDynamicUnkArray | Constructor. Inicializa los valores de la colección en NULL y el tamaño de la colección en cero. |
CComDynamicUnkArray::~CComDynamicUnkArray | El destructor . |
Métodos públicos
Nombre | Descripción |
---|---|
CComDynamicUnkArray::Add | Llame a este método para agregar un puntero IUnknown a la matriz. |
CComDynamicUnkArray::begin | Devuelve un puntero al primer puntero IUnknown de la colección. |
CComDynamicUnkArray::clear | Vacía la matriz. |
CComDynamicUnkArray::end | Devuelve un puntero a un elemento más allá del último puntero IUnknown de la colección. |
CComDynamicUnkArray::GetAt | Recupera el elemento en el índice especificado. |
CComDynamicUnkArray::GetCookie | Llame a este método para obtener la cookie asociada a un puntero IUnknown especificado. |
CComDynamicUnkArray::GetSize | Devuelve el número de elementos que la matriz puede almacenar. |
CComDynamicUnkArray::GetUnknown | Llame a este método para obtener el puntero IUnknown asociado a una cookie determinada. |
CComDynamicUnkArray::Remove | Llame a este método para quitar un puntero IUnknown de la matriz. |
Comentarios
CComDynamicUnkArray
contiene una matriz asignada dinámicamente de punteros IUnknown
, y cada uno de ellos es una interfaz de un punto de conexión. CComDynamicUnkArray
se puede usar como parámetro de la clase de plantilla IConnectionPointImpl.
Los métodos CComDynamicUnkArray
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 El Asistente para agregar clases usa la clase CComDynamicUnkArray
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
CComDynamicUnkArray::Add
Llame a este método para agregar un puntero IUnknown
a la matriz.
DWORD Add(IUnknown* pUnk);
Parámetros
pUnk
Puntero IUnknown
que se va a agregar a la matriz.
Valor devuelto
Devuelve la cookie asociada al puntero recién agregado. Use esta cookie para recuperar el puntero de la matriz con CComDynamicUnkArray::GetAt.
Comentarios
La posición en la que se inserta este elemento no necesariamente será directamente después del último elemento insertado si Remove()
se llamó previamente a en esta matriz. Utilice la cookie devuelta para acceder de forma confiable al puntero insertado.
El tamaño de la matriz puede aumentarse para acomodar más elementos. Use GetSize()
para obtener el nuevo tamaño.
CComDynamicUnkArray::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.
CComDynamicUnkArray::clear
Vacía la matriz. Restablece el tamaño a 0.
void clear();
CComDynamicUnkArray::CComDynamicUnkArray
Constructor .
CComDynamicUnkArray();
Comentarios
Establece el tamaño de la colección en cero e inicializa los valores en NULL. El destructor libera la colección, si es necesario.
CComDynamicUnkArray::~CComDynamicUnkArray
El destructor .
~CComDynamicUnkArray();
Comentarios
Libera los recursos asignados por el constructor de clase.
CComDynamicUnkArray::end
Devuelve un puntero a un solo paso del último elemento del búfer asignado de la matriz.
Nota: esto significa que no se garantiza que el puntero insertado por última vez esté en end()-1
porque es posible que la matriz no se llene a la capacidad.
IUnknown**
end();
Valor devuelto
Puntero a un puntero de interfaz IUnknown
.
CComDynamicUnkArray::GetAt
Recupera el elemento en el índice especificado.
IUnknown* GetAt(int nIndex);
Parámetros
nIndex
El índice del elemento que se va a recuperar.
Valor devuelto
Puntero a una interfaz IUnknown si anteriormente se agregó un elemento y existe en este índice; en caso contrario NULL
, .
CComDynamicUnkArray::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 cero 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.
CComDynamicUnkArray::GetSize
Devuelve la capacidad asignada de la matriz.
Nota: este no es el mismo que el número de elementos que no son NULL actualmente en la matriz.
int GetSize() const;
Valor devuelto
Número de elementos que puede almacenar la matriz. GetSize() == end() - begin()
.
CComDynamicUnkArray::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.
CComDynamicUnkArray::Remove
Llame a este método para quitar un puntero IUnknown
de la matriz.
Todos los demás elementos no se modifican y conservan su índice y cookie.
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; en caso contrario, devuelve FALSE.