IModelObject::EnumerateKeyValues 方法 (dbgmodel.h)

EnumerateKeyValues 方法是客户端为了枚举对象上的所有键而使用的第一种方法, (这包括父模型树) 的任意位置实现的所有键。 请务必注意,EnumerateKeyValues 将枚举对象树中由重复名称定义的任何键;但是-- GetKeyValue 和 SetKeyValue 等方法将仅操作具有由深度优先遍历发现的给定名称的键的第一个实例。

语法

HRESULT EnumerateKeyValues(
  IKeyEnumerator **enumerator
);

参数

enumerator

对象上所有键的枚举器 (及其所有父模型) 及其值和元数据在此参数中作为 IKeyEnumerator 返回。

返回值

此方法返回指示成功或失败的 HRESULT。

注解

代码示例

ComPtr<IModelObject> spObject; /* get the object you want to enumerate */

ComPtr<IKeyEnumerator> spEnum;
if (SUCCEEDED(spObject->EnumerateKeyValues(&spEnum)))
{
    HRESULT hr = S_OK;
    while (SUCCEEDED(hr))
    {
        BSTR keyName;
        ComPtr<IModelObject> spKeyValue;
        hr = spEnum->GetNext(&keyName, &spKeyValue, nullptr);
        if (SUCCEEDED(hr))
        {
            // keyName contains the name of the key
            // spKeyValue contains the value of the key

            SysFreeString(keyName);
        }
    }

    // hr == E_BOUNDS  : We hit the end of the enumerator
    // hr == E_ABORT   : User is requesting interruption of the 
    // operation / stop immediately and flow the error
}

要求

要求
Header dbgmodel.h

另请参阅

IModelObject 接口