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.