Freigeben über


IModelObject::EnumerateKeyValues-Methode (dbgmodel.h)

Die EnumerateKeyValues-Methode ist die erste Methode, die ein Client verwendet, um alle Schlüssel für ein Objekt aufzulisten (dies schließt alle Schlüssel ein, die überall in der Struktur übergeordneter 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 bearbeiten jedoch nur die erste instance eines Schlüssels mit dem angegebenen Namen, wie vom Tiefen-First-Traversal ermittelt.

Syntax

HRESULT EnumerateKeyValues(
  IKeyEnumerator **enumerator
);

Parameter

enumerator

Ein Enumerator für alle Schlüssel im Objekt (und alle übergeordneten Modelle) und deren Werte und Metadaten wird in diesem Argument als IKeyEnumerator zurückgegeben.

Rückgabewert

Diese Methode gibt HRESULT zurück, das auf Erfolg oder Fehler hinweist.

Hinweise

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

Weitere Informationen

IModelObject-Schnittstelle