Condividi tramite


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.

Vedi anche

Classe CComDynamicUnkArray
Cenni preliminari sulla classe