IModelObject ::EnumerateRawValues, méthode (dbgmodel.h)
La méthode EnumerateRawValues énumère tous les enfants natifs (par exemple, champs, 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 de type en tant qu’interface IRawEnumerator.
Valeur de retour
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
}
Exigences
Exigence | Valeur |
---|---|
d’en-tête | dbgmodel.h |