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 |