Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Diese Klasse stellt Methoden bereit, die von einer Auflistungsklasse verwendet werden.
Syntax
template <class T, class CollType, class ItemType, class CopyItem, class EnumType>
class ICollectionOnSTLImpl : public T
Parameter
T
Eine COM-Sammlungsschnittstelle.
CollType
Eine C++-Standardbibliothek-Containerklasse.
Elementtyp
Der Typ des Elements, der von der Containerschnittstelle verfügbar gemacht wird.
CopyItem
Eine Kopierrichtlinienklasse.
EnumType
Eine CComEnumOnSTL-kompatible Enumeratorklasse.
Member
Öffentliche Methoden
| Name | Beschreibung |
|---|---|
| ICollectionOnSTLImpl::get__NewEnum | Gibt ein Enumerationsobjekt für die Auflistung zurück. |
| ICollectionOnSTLImpl::getcount | Ruft die Anzahl der Elemente in der Auflistung ab. |
| ICollectionOnSTLImpl::get_Item | Gibt das angeforderte Element aus der Auflistung zurück. |
Öffentliche Datenmember
| Name | Beschreibung |
|---|---|
| ICollectionOnSTLImpl::m_coll | Die Auflistung. |
Hinweise
Diese Klasse stellt die Implementierung für drei Methoden einer Sammlungsschnittstelle bereit: getcount, get_Item und get__NewEnum.
So verwenden Sie diese Klasse:
Definieren (oder ausleihen) Sie eine Sammlungsschnittstelle, die Sie implementieren möchten.
Leiten Sie Ihre Klasse von einer Spezialisierung ab, die
ICollectionOnSTLImplauf dieser Sammlungsschnittstelle basiert.Verwenden Sie die abgeleitete Klasse, um methoden aus der Sammlungsschnittstelle zu implementieren, die nicht von
ICollectionOnSTLImpl.
Hinweis
Wenn die Sammlungsschnittstelle eine duale Schnittstelle ist, leiten Sie Ihre Klasse von IDispatchImpl ab, und übergeben Sie die ICollectionOnSTLImpl Spezialisierung als ersten Vorlagenparameter, wenn ATL die Implementierung der IDispatch Methoden bereitstellen soll.
- Fügen Sie dem element m_coll Elemente hinzu, um die Auflistung aufzufüllen.
Weitere Informationen und Beispiele finden Sie unter ATL-Auflistungen und Enumerationen.
Vererbungshierarchie
T
ICollectionOnSTLImpl
Anforderungen
Kopfzeile: atlcom.h
ICollectionOnSTLImpl::getcount
Diese Methode gibt die Anzahl der Elemente in der Auflistung zurück.
STDMETHOD(getcount)(long* pcount);
Parameter
pcount
[out] Die Anzahl der Elemente in der Auflistung.
Rückgabewert
Ein HRESULT-Standardwert.
ICollectionOnSTLImpl::get_Item
Diese Methode gibt das angegebene Element aus der Auflistung zurück.
STDMETHOD(get_Item)(long Index, ItemType* pvar);
Parameter
Index
[in] Der 1-basierte Index eines Elements in der Auflistung.
pvar
[out] Das Element, das dem Index entspricht.
Rückgabewert
Ein HRESULT-Standardwert.
Hinweise
Das Element wird durch Kopieren der Daten an der angegebenen Position in m_coll mithilfe der Kopierrichtlinienklasse abgerufen, die als Vorlagenargument in der ICollectionOnSTLImpl Spezialisierung übergeben wurde.
ICollectionOnSTLImpl::get__NewEnum
Gibt ein Enumerationsobjekt für die Auflistung zurück.
STDMETHOD(get__NewEnum)(IUnknown** ppUnk);
Parameter
ppUnk
[out] Der IUnknown-Zeiger eines neu erstellten Enumerationsobjekts.
Rückgabewert
Ein HRESULT-Standardwert.
Hinweise
Der neu erstellte Enumerator verwaltet einen Iterator für die ursprüngliche Auflistung , m_coll(sodass keine Kopie erstellt wird) und enthält einen COM-Verweis auf das Auflistungsobjekt, um sicherzustellen, dass die Auflistung aktiv bleibt, während es ausstehende Enumerationen gibt.
ICollectionOnSTLImpl::m_coll
Dieses Element enthält die durch die Auflistung dargestellten Elemente.
CollType m_coll;