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 im Iterator selbst übergeben.

Syntax

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

Parameter

contextObject

Der instance (dieser Zeiger), für den ein Iterator abgerufen werden soll.

iterator

Hier wird eine Implementierung von IModelIterator zurückgegeben, die das instance-Objekt durchläuft.

Rückgabewert

Diese Methode gibt HRESULT zurück, was auf Erfolg oder Fehler hinweist.

Hinweise

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

Weitere Informationen

IIterableConcept-Schnittstelle