Freigeben über


IModelObject::EnumerateRawValues-Methode (dbgmodel.h)

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

Syntax

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

Parameter

kind

Gibt die Art des nativen Symbols an, das abgerufen werden soll (z. B. eine Basisklasse oder ein Datenmember).

searchFlags

Ein optionaler Satz von Flags, die das Verhalten der Suche nach dem nativen Konstrukt angeben.

enumerator

Ein Enumerator, der jedes native untergeordnete Element der art aufzählt, die durch das Kind-Argument als IRawEnumerator-Schnittstelle angegeben wird.

Rückgabewert

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

Hinweise

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

Weitere Informationen

IModelObject-Schnittstelle