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 |