IModelObject::EnumerateKeyValues-Methode (dbgmodel.h)
Die EnumerateKeyValues-Methode ist die erste Methode, an die ein Client sich wendet, um alle Schlüssel für ein Objekt aufzählen zu können (dies schließt alle Schlüssel ein, die an einer beliebigen Stelle in der Struktur der übergeordneten Modelle implementiert sind). Es ist wichtig zu beachten, dass EnumerateKeyValues alle Schlüssel aufzählt, die durch doppelte Namen in der Objektstruktur definiert sind; Methoden wie "GetKeyValue" und "SetKeyValue" ändern jedoch nur die erste Instanz eines Schlüssels mit dem angegebenen Namen, wie durch das Tiefen-First-Traversal ermittelt.
Syntax
HRESULT EnumerateKeyValues(
IKeyEnumerator **enumerator
);
Parameter
enumerator
Ein Enumerator für alle Schlüssel für das Objekt (und alle übergeordneten Modelle) und deren Werte und Metadaten werden in diesem Argument als IKeyEnumerator-zurückgegeben.
Rückgabewert
Diese Methode gibt HRESULT zurück, das Erfolg oder Fehler angibt.
Bemerkungen
Codebeispiel
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
}
Anforderungen
Anforderung | Wert |
---|---|
Header- | dbgmodel.h |