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.