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.