Метод IIterableConcept::GetIterator (dbgmodel.h)

Метод GetIterator в концепции итерации возвращает интерфейс итератора, который можно использовать для итерации объекта. Возвращаемый итератор должен помнить объект контекста, переданный методу GetIterator. Он не будет передан в методы самого итератора.

Синтаксис

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

Параметры

contextObject

Экземпляр (этот указатель), для которого требуется получить итератор.

iterator

Здесь возвращается реализация IModelIterator , который выполняет итерацию объекта экземпляра.

Возвращаемое значение

Этот метод возвращает HRESULT, который указывает на успех или сбой.

Комментарии

Пример реализации:

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;
}

Требования

Требование Значение
Заголовок dbgmodel.h

См. также раздел

Интерфейс IIterableConcept