IModelObject ::EnumerateKeyValues, méthode (dbgmodel.h)
La méthode EnumerateKeyValues est la première méthode vers laquelle un client doit se tourner pour énumérer toutes les clés d’un objet (cela inclut toutes les clés implémentées n’importe où dans l’arborescence des modèles parents). Il est important de noter que EnumerateKeyValues énumère toutes les clés définies par des noms en double dans l’arborescence des objets ; toutefois , les méthodes telles que GetKeyValue et SetKeyValue ne manipulent que la première instance d’une clé portant le nom donné, comme découvert par la traversée en profondeur.
Syntaxe
HRESULT EnumerateKeyValues(
IKeyEnumerator **enumerator
);
Paramètres
enumerator
Un énumérateur pour toutes les clés de l’objet (et de tous ses modèles parents) ainsi que leurs valeurs et métadonnées est retourné dans cet argument en tant que IKeyEnumerator.
Valeur retournée
Cette méthode retourne HRESULT qui indique la réussite ou l’échec.
Remarques
Exemple de code
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
}
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | dbgmodel.h |