Condividi tramite


Classe CComDynamicUnkArray

Questa classe archivia una matrice di IUnknown puntatori.

Sintassi

class CComDynamicUnkArray

Membri

Costruttori pubblici

Nome Descrizione
CComDynamicUnkArray::CComDynamicUnkArray Costruttore. Inizializza i valori della raccolta su NULL e le dimensioni della raccolta su zero.
CComDynamicUnkArray::~CComDynamicUnkArray Distruttore.

Metodi pubblici

Nome Descrizione
CComDynamicUnkArray::Add Chiamare questo metodo per aggiungere un IUnknown puntatore alla matrice.
CComDynamicUnkArray::begin Restituisce un puntatore al primo IUnknown puntatore dell'insieme.
CComDynamicUnkArray::clear Svuota la matrice.
CComDynamicUnkArray::end Restituisce un puntatore a un puntatore oltre l'ultimo IUnknown puntatore dell'insieme.
CComDynamicUnkArray::GetAt Recupera l'elemento in corrispondenza dell'indice specificato.
CComDynamicUnkArray::GetCookie Chiamare questo metodo per ottenere il cookie associato a un puntatore specificato IUnknown .
CComDynamicUnkArray::GetSize Restituisce il numero di elementi che la matrice può archiviare.
CComDynamicUnkArray::GetUnknown Chiamare questo metodo per ottenere il IUnknown puntatore associato a un cookie specificato.
CComDynamicUnkArray::Remove Chiamare questo metodo per rimuovere un IUnknown puntatore dalla matrice.

Osservazioni:

CComDynamicUnkArray contiene una matrice allocata dinamicamente di IUnknown puntatori, ogni interfaccia in un punto di connessione. CComDynamicUnkArray può essere usato come parametro per la classe modello IConnectionPointImpl .

I CComDynamicUnkArray 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 viene utilizzata dalla procedura guidata Aggiungi classe CComDynamicUnkArray 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

CComDynamicUnkArray::Add

Chiamare questo metodo per aggiungere un IUnknown puntatore alla matrice.

DWORD Add(IUnknown* pUnk);

Parametri

Punk
Puntatore IUnknown da aggiungere alla matrice.

Valore restituito

Restituisce il cookie associato al puntatore appena aggiunto. Usare questo cookie per recuperare il puntatore dalla matrice con CComDynamicUnkArray::GetAt.

Osservazioni:

La posizione in cui questo elemento viene inserito non sarà necessariamente direttamente dopo l'ultimo elemento inserito se Remove() è stato precedentemente chiamato in questa matrice. Usare il cookie restituito per accedere in modo affidabile al puntatore inserito. Le dimensioni della matrice potrebbero essere aumentate per contenere più elementi. Usare GetSize() per ottenere le nuove dimensioni.

CComDynamicUnkArray::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.

CComDynamicUnkArray::clear

Svuota la matrice. Reimposta le dimensioni su 0.

void clear();

CComDynamicUnkArray::CComDynamicUnkArray

Costruttore.

CComDynamicUnkArray();

Osservazioni:

Imposta le dimensioni della raccolta su zero e inizializza i valori su NULL. Se necessario, il distruttore libera la raccolta.

CComDynamicUnkArray::~CComDynamicUnkArray

Distruttore.

~CComDynamicUnkArray();

Osservazioni:

Libera le risorse allocate dal costruttore della classe.

CComDynamicUnkArray::end

Restituisce un puntatore a un solo elemento oltre l'ultimo elemento nel buffer allocato della matrice.

Nota: ciò significa che l'ultimo puntatore inserito non è garantito in corrispondenza end()-1 del fatto che la matrice potrebbe non essere riempita per la capacità.

IUnknown**
    end();

Valore restituito

Puntatore a un puntatore a un'interfaccia IUnknown .

CComDynamicUnkArray::GetAt

Recupera l'elemento in corrispondenza dell'indice specificato.

IUnknown* GetAt(int nIndex);

Parametri

nIndex
Indice dell'elemento da recuperare.

Valore restituito

Puntatore a un'interfaccia IUnknown se un elemento è stato aggiunto in precedenza ed esiste in questo indice; in caso contrario NULL, .

CComDynamicUnkArray::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 zero 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.

CComDynamicUnkArray::GetSize

Restituisce la capacità allocata della matrice.

Nota: non corrisponde al numero di elementi non NULL attualmente presenti nella matrice.

int GetSize() const;

Valore restituito

Numero di elementi che la matrice può archiviare. GetSize() == end() - begin().

CComDynamicUnkArray::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.

CComDynamicUnkArray::Remove

Chiamare questo metodo per rimuovere un IUnknown puntatore dalla matrice.

Tutti gli altri elementi sono invariati e mantengono l'indice e il cookie.

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; in caso contrario FALSE.

Vedi anche

Classe CComUnkArray
Cenni preliminari sulla classe