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 |