IModelObject ::EnumerateKeyValues, méthode (dbgmodel.h)
La méthode EnumerateKeyValues est la première méthode qu’un client va 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 les clés définies par des noms en double dans l’arborescence d’objets ; toutefois, les méthodes telles que GetKeyValue et SetKeyValue manipulent uniquement la première instance d’une clé avec le nom donné tel que découvert par la profondeur-first-traversal.
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) et leurs valeurs et métadonnées sont retournées dans cet argument en tant que IKeyEnumerator.
Valeur de retour
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
}
Exigences
Exigence | Valeur |
---|---|
d’en-tête | dbgmodel.h |