ICollectionOnSTLImpl-Klasse
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
ICollectionOnSTLImpl
auf 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;