Freigeben über


IModelObject::EnumerateRawValues-Methode (dbgmodel.h)

Die EnumerateRawValues-Methode listet alle nativen untergeordneten Elemente auf (z. B. Felder, Basisklassen usw....) des angegebenen Objekts.

Syntax

HRESULT EnumerateRawValues(
  SymbolKind     kind,
  ULONG          searchFlags,
  IRawEnumerator **enumerator
);

Parameter

kind

Gibt die Art des abzurufenden nativen Symbols an (z. B. eine Basisklasse oder ein Datenmememm)

searchFlags

Ein optionaler Satz von Flags, der das Verhalten der Suche für das systemeigene Konstrukt angibt.

enumerator

Ein Enumerator, der jedes systemeigene untergeordnete Element der Art aufzählt, die durch das Argument "art" als IRawEnumerator Schnittstelle angegeben wird.

Rückgabewert

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

Bemerkungen

Codebeispiel

ComPtr<IModelObject> spMessage; /* get a tagMSG */

ComPtr<IRawEnumerator> spEnum;
if (SUCCEEDED(spMessage->EnumerateRawValues(SymbolField, RawSearchNone, &spEnum)))
{
    HRESULT hr = S_OK;
    while (SUCCEEDED(hr))
    {
        BSTR fieldName;
        SymbolKind symKind;
        ComPtr<IModelObject> spFieldValue;
        hr = spEnum->GetNext(&fieldName, &symbolKind, &spFieldValue);
        if (SUCCEEDED(hr))
        {
            // fieldName contains the name of the field, symKind contains the kind of 
            // symbol matched (SymbolField in this case), spFieldValue contains the value
            // For tagMSG (with symbols), the enumerator should produce field names and 
            // values for 'hwnd', 'message', 'wParam', 'lParam', 'time', and 'pt'
            SysFreeString(fieldName);
        }
    }

    // hr == E_BOUNDS : We hit the end of the enumerator
    // hr == E_ABORT  : There was a user request for an interrupt / propagate that upward immediately
}

Anforderungen

Anforderung Wert
Header- dbgmodel.h

Siehe auch

IModelObject-Schnittstelle