IModelObject ::EnumerateRawValues, méthode (dbgmodel.h)
La méthode EnumerateRawValues énumère tous les enfants natifs (par exemple, les champs, les classes de base, etc...) de l’objet donné.
Syntaxe
HRESULT EnumerateRawValues(
SymbolKind kind,
ULONG searchFlags,
IRawEnumerator **enumerator
);
Paramètres
kind
Indique le type de symbole natif à extraire (par exemple, une classe de base ou un membre de données)
searchFlags
Ensemble facultatif d’indicateurs spécifiant le comportement de la recherche de la construction native.
enumerator
Énumérateur qui énumère chaque enfant natif du type spécifié par l’argument kind en tant qu’interface IRawEnumerator .
Valeur retournée
Cette méthode retourne HRESULT qui indique la réussite ou l’échec.
Remarques
Exemple de code
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
}
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | dbgmodel.h |