Freigeben über


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

Siehe auch

IModelObject-Schnittstelle