Classe CComUnkArray
Questa classe archivia IUnknown
i puntatori ed è progettata per essere usata come parametro per la classe modello IConnectionPointImpl .
Sintassi
template<unsigned int nMaxSize>
class CComUnkArray
Parametri
nMaxSize
Numero massimo di IUnknown
puntatori che possono essere mantenuti nella matrice statica.
Membri
Costruttori pubblici
Nome | Descrizione |
---|---|
CComUnkArray::CComUnkArray | Costruttore. |
Metodi pubblici
Nome | Descrizione |
---|---|
CComUnkArray::Add | Chiamare questo metodo per aggiungere un IUnknown puntatore alla matrice. |
CComUnkArray::begin | Restituisce un puntatore al primo IUnknown puntatore dell'insieme. |
CComUnkArray::end | Restituisce un puntatore a un puntatore oltre l'ultimo IUnknown puntatore dell'insieme. |
CComUnkArray::GetCookie | Chiamare questo metodo per ottenere il cookie associato a un puntatore specificato IUnknown . |
CComUnkArray::GetUnknown | Chiamare questo metodo per ottenere il IUnknown puntatore associato a un cookie specificato. |
CComUnkArray::Remove | Chiamare questo metodo per rimuovere un IUnknown puntatore dalla matrice. |
Osservazioni:
CComUnkArray
contiene un numero fisso di IUnknown
puntatori, ogni interfaccia in un punto di connessione. CComUnkArray
può essere usato come parametro per la classe modello IConnectionPointImpl . CComUnkArray<1>
è una specializzazione di modello di CComUnkArray
che è stata ottimizzata per un punto di connessione.
I CComUnkArray
metodi begin e end possono essere usati per scorrere tutti i punti di connessione, ad esempio quando viene generato un evento.
Per informazioni dettagliate sull'automazione della creazione di proxy dei punti di connessione, vedere Aggiunta di punti di connessione a un oggetto .
Nota
Nota La classe CComDynamicUnkArray viene utilizzata dalla procedura guidata Aggiungi classe durante la creazione di un controllo con punti di connessione. Se si desidera specificare manualmente il numero di punti di connessione, modificare il riferimento da CComDynamicUnkArray
a CComUnkArray<
n >
, dove n è il numero di punti di connessione necessari.
Requisiti
Intestazione: atlcom.h
CComUnkArray::Add
Chiamare questo metodo per aggiungere un IUnknown
puntatore alla matrice.
DWORD Add(IUnknown* pUnk);
Parametri
Punk
Chiamare questo metodo per aggiungere un IUnknown
puntatore alla matrice.
Valore restituito
Restituisce il cookie associato al puntatore appena aggiunto oppure 0 se la matrice non è sufficientemente grande da contenere il nuovo puntatore.
CComUnkArray::begin
Restituisce un puntatore all'inizio della raccolta di IUnknown
puntatori di interfaccia.
IUnknown**
begin();
Valore restituito
Puntatore a un puntatore a un'interfaccia IUnknown
.
Osservazioni:
La raccolta contiene puntatori alle interfacce archiviate localmente come IUnknown
. È possibile eseguire il cast di ogni IUnknown
interfaccia al tipo di interfaccia reale e quindi chiamarla. Per prima cosa non è necessario eseguire una query per l'interfaccia.
Prima di usare l'interfaccia IUnknown
, è necessario verificare che non sia NULL.
CComUnkArray::CComUnkArray
Costruttore.
CComUnkArray();
Osservazioni:
Imposta la raccolta per contenere nMaxSize
IUnknown
i puntatori e inizializza i puntatori su NULL.
CComUnkArray::end
Restituisce un puntatore a un puntatore oltre l'ultimo IUnknown
puntatore dell'insieme.
IUnknown**
end();
Valore restituito
Puntatore a un puntatore a un'interfaccia IUnknown
.
Osservazioni:
I CComUnkArray
metodi begin
e end
possono essere usati per scorrere tutti i punti di connessione, ad esempio quando viene generato un evento.
IUnknown** p = m_vec.begin();
while(p != m_vec.end())
{
// Do something with *p
p++;
}
CComUnkArray::GetCookie
Chiamare questo metodo per ottenere il cookie associato a un puntatore specificato IUnknown
.
DWORD WINAPI GetCookie(IUnknown** ppFind);
Parametri
ppFind
Puntatore IUnknown
per il quale è necessario il cookie associato.
Valore restituito
Restituisce il cookie associato al IUnknown
puntatore oppure 0 se non viene trovato alcun puntatore corrispondente IUnknown
.
Osservazioni:
Se sono presenti più istanze dello stesso IUnknown
puntatore, questa funzione restituisce il cookie per il primo.
CComUnkArray::GetUnknown
Chiamare questo metodo per ottenere il IUnknown
puntatore associato a un cookie specificato.
IUnknown* WINAPI GetUnknown(DWORD dwCookie);
Parametri
dwCookie
Cookie per il quale è necessario il puntatore associato IUnknown
.
Valore restituito
Restituisce il IUnknown
puntatore o NULL se non viene trovato alcun cookie corrispondente.
CComUnkArray::Remove
Chiamare questo metodo per rimuovere un IUnknown
puntatore dalla matrice.
BOOL Remove(DWORD dwCookie);
Parametri
dwCookie
Cookie che fa riferimento al IUnknown
puntatore da rimuovere dalla matrice.
Valore restituito
Restituisce TRUE se il puntatore viene rimosso, FALSE in caso contrario.