Метод 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 |