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 |