Partager via


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

Voir aussi

Interface IModelObject