Compartir a través de


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

El método EnumerateKeyValues es el primer método al que un cliente cambiará para enumerar todas las claves de un objeto (esto incluye todas las claves implementadas en cualquier lugar del árbol de modelos primarios). Es importante tener en cuenta que EnumerateKeyValues enumerará las claves definidas por nombres duplicados en el árbol de objetos; sin embargo, los métodos como GetKeyValue y SetKeyValue solo manipularán la primera instancia de una clave con el nombre especificado tal y como lo detecta el recorrido de profundidad.

Sintaxis

HRESULT EnumerateKeyValues(
  IKeyEnumerator **enumerator
);

Parámetros

enumerator

Un enumerador para todas las claves del objeto (y todos sus modelos primarios) y sus valores y metadatos se devuelven en este argumento como IKeyEnumerator.

Valor devuelto

Este método devuelve HRESULT que indica éxito o error.

Comentarios

Ejemplo 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
Header dbgmodel.h

Consulte también

Interfaz IModelObject