Método IModelObject::EnumerateKeyValues (dbgmodel.h)

O método EnumerateKeyValues é o primeiro método ao qual um cliente recorrerá para enumerar todas as chaves em um objeto (isso inclui todas as chaves implementadas em qualquer lugar na árvore de modelos pai). É importante observar que EnumerateKeyValues enumerará todas as chaves definidas por nomes duplicados na árvore de objetos; no entanto , métodos como GetKeyValue e SetKeyValue manipularão apenas a primeira instância de uma chave com o nome fornecido, conforme descoberto pela passagem de profundidade primeiro.

Sintaxe

HRESULT EnumerateKeyValues(
  IKeyEnumerator **enumerator
);

Parâmetros

enumerator

Um enumerador para todas as chaves no objeto (e todos os seus modelos pai) e seus valores e metadados são retornados nesse argumento como um IKeyEnumerator.

Retornar valor

Esse método retorna HRESULT que indica êxito ou falha.

Comentários

Exemplo de código

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
}

Requisitos

Requisito Valor
Cabeçalho dbgmodel.h

Confira também

Interface IModelObject