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

要求

要求
Header dbgmodel.h

另请参阅

IIterableConcept 接口