Freigeben über


CComUnkArray-Klasse

Diese Klasse speichert IUnknown Zeiger und wurde als Parameter für die IConnectionPointImpl-Vorlagenklasse verwendet.

Syntax

template<unsigned int nMaxSize>
class CComUnkArray

Parameter

nMaxSize
Die maximale Anzahl von IUnknown Zeigern, die im statischen Array gehalten werden können.

Member

Öffentliche Konstruktoren

Name Beschreibung
CComUnkArray::CComUnkArray Konstruktor.

Öffentliche Methoden

Name Beschreibung
CComUnkArray::Add Rufen Sie diese Methode auf, um dem Array einen IUnknown Zeiger hinzuzufügen.
CComUnkArray::begin Gibt einen Zeiger auf den ersten IUnknown Zeiger in der Auflistung zurück.
CComUnkArray::end Gibt einen Mauszeiger auf einen Zeiger über den letzten IUnknown Zeiger in der Auflistung zurück.
CComUnkArray::GetCookie Rufen Sie diese Methode auf, um das cookie abzurufen, das einem bestimmten Zeiger IUnknown zugeordnet ist.
CComUnkArray::GetUnknown Rufen Sie diese Methode auf, um den Zeiger abzurufen, der IUnknown einem bestimmten Cookie zugeordnet ist.
CComUnkArray::Remove Rufen Sie diese Methode auf, um einen IUnknown Zeiger aus dem Array zu entfernen.

Hinweise

CComUnkArray enthält eine feste Anzahl von IUnknown Zeigern, jede Schnittstelle auf einem Verbindungspunkt. CComUnkArray kann als Parameter für die IConnectionPointImpl-Vorlagenklasse verwendet werden. CComUnkArray<1> ist eine Vorlagenspezialisierung, die CComUnkArray für einen Verbindungspunkt optimiert wurde.

Die CComUnkArray 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

CComUnkArray::Add

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

DWORD Add(IUnknown* pUnk);

Parameter

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

Rückgabewert

Gibt das cookie zurück, das dem neu hinzugefügten Zeiger zugeordnet ist, oder 0, wenn das Array nicht groß genug ist, um den neuen Zeiger zu enthalten.

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

CComUnkArray::CComUnkArray

Der Konstruktor.

CComUnkArray();

Hinweise

Legt die Auflistung fest, um Zeiger zu halten nMaxSize IUnknown , und initialisiert die Zeiger auf NULL.

CComUnkArray::end

Gibt einen Mauszeiger auf einen Zeiger über den letzten IUnknown Zeiger in der Auflistung zurück.

IUnknown**
    end();

Rückgabewert

Ein Zeiger auf einen IUnknown Schnittstellenzeiger.

Hinweise

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

IUnknown** p = m_vec.begin();
while(p != m_vec.end())
{
   // Do something with *p
   p++;
}

CComUnkArray::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 0, 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.

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

CComUnkArray::Remove

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

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

CComDynamicUnkArray-Klasse
Klassenübersicht