Freigeben über


CComDynamicUnkArray-Klasse

Diese Klasse speichert ein Array von IUnknown Zeigern.

Syntax

class CComDynamicUnkArray

Member

Öffentliche Konstruktoren

Name Beschreibung
CComDynamicUnkArray::CComDynamicUnkArray Konstruktor. Initialisiert die Auflistungswerte auf NULL und die Sammlungsgröße auf Null.
CComDynamicUnkArray::~CComDynamicUnkArray Der Destruktor.

Öffentliche Methoden

Name Beschreibung
CComDynamicUnkArray::Add Rufen Sie diese Methode auf, um dem Array einen IUnknown Zeiger hinzuzufügen.
CComDynamicUnkArray::begin Gibt einen Zeiger auf den ersten IUnknown Zeiger in der Auflistung zurück.
CComDynamicUnkArray::clear Leert das Array.
CComDynamicUnkArray::end Gibt einen Mauszeiger auf einen Zeiger über den letzten IUnknown Zeiger in der Auflistung zurück.
CComDynamicUnkArray::GetAt Ruft das Element am angegebenen Index ab.
CComDynamicUnkArray::GetCookie Rufen Sie diese Methode auf, um das cookie abzurufen, das einem bestimmten Zeiger IUnknown zugeordnet ist.
CComDynamicUnkArray::GetSize Gibt die Anzahl der Elemente zurück, die das Array speichern kann.
CComDynamicUnkArray::GetUnknown Rufen Sie diese Methode auf, um den Zeiger abzurufen, der IUnknown einem bestimmten Cookie zugeordnet ist.
CComDynamicUnkArray::Remove Rufen Sie diese Methode auf, um einen IUnknown Zeiger aus dem Array zu entfernen.

Hinweise

CComDynamicUnkArray enthält ein dynamisch zugeordnetes Array von IUnknown Zeigern, jede Schnittstelle auf einem Verbindungspunkt. CComDynamicUnkArray kann als Parameter für die IConnectionPointImpl-Vorlagenklasse verwendet werden.

Die CComDynamicUnkArray Methoden beginnen und end können verwendet werden, um alle Verbindungspunkte zu durchlaufen (z. B. wenn ein Ereignis ausgelöst wird).

Weitere Informationen zum Automatisieren der Erstellung von Verbindungspunktproxys finden Sie unter Hinzufügen von Verbindungspunkten zu einem Objekt .

Hinweis

Hinweis : Die Klasse CComDynamicUnkArray wird vom Assistenten zum Hinzufügen von Klassen beim Erstellen eines Steuerelements mit Verbindungspunkten verwendet. Wenn Sie die Anzahl der Verbindungspunkte manuell angeben möchten, ändern Sie den Bezug von CComDynamicUnkArray n in CComUnkArray< n>, wobei n die Anzahl der erforderlichen Verbindungspunkte ist.

Anforderungen

Kopfzeile: atlcom.h

CComDynamicUnkArray::Add

Rufen Sie diese Methode auf, um dem Array einen IUnknown Zeiger hinzuzufügen.

DWORD Add(IUnknown* pUnk);

Parameter

Punk
Der IUnknown Zeiger, der dem Array hinzugefügt werden soll.

Rückgabewert

Gibt das cookie zurück, das dem neu hinzugefügten Zeiger zugeordnet ist. Verwenden Sie dieses Cookie, um den Zeiger aus dem Array mit CComDynamicUnkArray::GetAt abzurufen.

Hinweise

Die Position, an der dieses Element eingefügt wird, befindet sich nicht unbedingt direkt nach dem zuletzt eingefügten Element, wenn Remove() es zuvor für dieses Array aufgerufen wurde. Verwenden Sie das zurückgegebene Cookie, um zuverlässig auf den eingefügten Zeiger zuzugreifen. Die Größe des Arrays kann erhöht werden, um mehr Elemente aufzunehmen. Wird verwendet GetSize() , um die neue Größe zu erhalten.

CComDynamicUnkArray::begin

Gibt einen Zeiger auf den Anfang der Auflistung von IUnknown Schnittstellenzeigern zurück.

IUnknown**
    begin();

Rückgabewert

Ein Zeiger auf einen IUnknown Schnittstellenzeiger.

Hinweise

Die Auflistung enthält Zeiger auf Schnittstellen, die lokal als IUnknown. Sie wandeln jede IUnknown Schnittstelle in den echten Schnittstellentyp um und rufen sie dann durch. Sie müssen zuerst keine Abfrage für die Schnittstelle durchführen.

Bevor Sie die IUnknown Schnittstelle verwenden, sollten Sie überprüfen, ob sie nicht NULL ist.

CComDynamicUnkArray::clear

Leert das Array. Setzt die Größe auf 0 zurück.

void clear();

CComDynamicUnkArray::CComDynamicUnkArray

Der Konstruktor.

CComDynamicUnkArray();

Hinweise

Legt die Sammlungsgröße auf Null fest und initialisiert die Werte auf NULL. Der Destruktor befreit die Sammlung bei Bedarf.

CComDynamicUnkArray::~CComDynamicUnkArray

Der Destruktor.

~CComDynamicUnkArray();

Hinweise

Gibt Ressourcen frei, die vom Klassenkonstruktor zugewiesen wurden.

CComDynamicUnkArray::end

Gibt einen Zeiger auf ein letztes Element im zugeordneten Puffer des Arrays zurück.

Hinweis: Dies bedeutet, dass der zuletzt eingefügte Zeiger nicht garantiert ist end()-1 , da das Array möglicherweise nicht in kapazitätsfähig ist.

IUnknown**
    end();

Rückgabewert

Ein Zeiger auf einen IUnknown Schnittstellenzeiger.

CComDynamicUnkArray::GetAt

Ruft das Element am angegebenen Index ab.

IUnknown* GetAt(int nIndex);

Parameter

nIndex
Der Index des abzurufenden Elements.

Rückgabewert

Ein Zeiger auf eine IUnknown-Schnittstelle , wenn ein Element zuvor hinzugefügt wurde und an diesem Index vorhanden ist; andernfalls NULL.

CComDynamicUnkArray::GetCookie

Rufen Sie diese Methode auf, um das cookie abzurufen, das einem bestimmten Zeiger IUnknown zugeordnet ist.

DWORD WINAPI GetCookie(IUnknown** ppFind);

Parameter

ppFind
Der IUnknown Zeiger, für den das zugehörige Cookie erforderlich ist.

Rückgabewert

Gibt das dem IUnknown Zeiger zugeordnete Cookie zurück, oder null, wenn kein übereinstimmende IUnknown Zeiger gefunden wird.

Hinweise

Wenn mehrere Instanzen desselben IUnknown Zeigers vorhanden sind, gibt diese Funktion das Cookie für die erste zurück.

CComDynamicUnkArray::GetSize

Gibt die zugeordnete Kapazität des Arrays zurück.

Hinweis: Dies entspricht nicht der Anzahl von Nicht-NULL-Elementen, die sich derzeit im Array befinden.

int GetSize() const;

Rückgabewert

Die Anzahl der Elemente, die das Array speichern kann. GetSize() == end() - begin().

CComDynamicUnkArray::GetUnknown

Rufen Sie diese Methode auf, um den Zeiger abzurufen, der IUnknown einem bestimmten Cookie zugeordnet ist.

IUnknown* WINAPI GetUnknown(DWORD dwCookie);

Parameter

dwCookie
Das Cookie, für das der zugehörige IUnknown Zeiger erforderlich ist.

Rückgabewert

Gibt den IUnknown Zeiger oder NULL zurück, wenn kein übereinstimmende Cookie gefunden wird.

CComDynamicUnkArray::Remove

Rufen Sie diese Methode auf, um einen IUnknown Zeiger aus dem Array zu entfernen.

Alle anderen Elemente bleiben unverändert und bewahren ihren Index und cookie auf.

BOOL Remove(DWORD dwCookie);

Parameter

dwCookie
Das Cookie, das auf den Zeiger verweist, der IUnknown aus dem Array entfernt werden soll.

Rückgabewert

Gibt TRUE zurück, wenn der Zeiger entfernt wird; andernfalls FALSE.

Siehe auch

CComUnkArray-Klasse
Klassenübersicht