Freigeben über


IIterableConcept::GetIterator-Methode (dbgmodel.h)

Die GetIterator-Methode für das iterierbare Konzept gibt eine Iteratorschnittstelle zurück, die zum Durchlaufen des Objekts verwendet werden kann. Der zurückgegebene Iterator muss sich an das Kontextobjekt erinnern, das an die GetIterator-Methode übergeben wurde. Sie wird nicht an Methoden für den Iterator selbst übergeben.

Syntax

HRESULT GetIterator(
  IModelObject   *contextObject,
  IModelIterator **iterator
);

Parameter

contextObject

Die Instanz (dieser Zeiger), für die ein Iterator erworben werden soll.

iterator

Eine Implementierung von IModelIterator, die das Instanzobjekt durchläuft, wird hier zurückgegeben.

Rückgabewert

Diese Methode gibt HRESULT zurück, das Erfolg oder Fehler angibt.

Bemerkungen

Beispielimplementierung:

IFACEMETHOD(GetIterator)(_In_ IModelObject *pContextObject, 
                         _COM_Outptr_ IModelIterator **ppIterator)
{
    HRESULT hr = S_OK:
    *ppIterator = nullptr;

    // The iterator is not going to be passed the context object any more.  
    // If it needs this (to access fields for iteration, etc...), it must
    // capture that in its own state.
    ComPtr<MyObjectIterator> spIter;
    hr = Microsoft::WRL::MakeAndInitialize<MyObjectIterator>(&spIter, pContextObject);
    if (SUCCEEDED(hr))
    {
        *ppIterator = spIter.Detach();
    }
    return hr;
}

Anforderungen

Anforderung Wert
Header- dbgmodel.h

Siehe auch

IIterableConcept-Schnittstelle