Freigeben über


IDebugHostBaseClass2::EnumerateChildren-Methode (dbgmodel.h)

Die EnumerateChildren-Methode gibt einen Enumerator zurück, der alle untergeordneten Elemente eines bestimmten Symbols aufzählt. Bei einem C++-Typ werden z. B. die Basisklassen, Felder, Memberfunktionen und ähnliches als untergeordnete Elemente des Typsymbols betrachtet.

Syntax

HRESULT EnumerateChildren(
  SymbolKind                 kind,
  PCWSTR                     name,
  IDebugHostSymbolEnumerator **ppEnum
);

Parameter

kind

Gibt an, welche Arten von untergeordneten Symbolen der Aufrufer aufzählen möchte. Wenn das Symbol für den flachen Wert übergeben wird, werden alle Arten untergeordneter Symbole aufgezählt.

name

Wenn angegeben, werden nur untergeordnete Symbole mit einem In diesem Argument angegebenen Namen aufgezählt.

ppEnum

Hier wird ein Enumerator zurückgegeben, der untergeordnete Symbole der angegebenen Art aufzählt.

Rückgabewert

Diese Methode gibt HRESULT zurück, das Erfolg oder Fehler angibt.

Bemerkungen

Codebeispiel

ComPtr<IDebugHostType> spType; /* get the type of an object */

// Enumerate every field of this type.  Note that this *WILL NOT* enumerate 
// fields of base classes!
ComPtr<IDebugHostSymbolEnumerator> spEnum;
if (SUCCEEDED(spType->EnumerateChildren(SymbolField, nullptr, &spEnum)))
{
    ComPtr<IDebugHostSymbol> spFieldSymbol;
    HRESULT hr = S_OK;
    while (SUCCEEDED(hr))
    {
        hr = spEnum->GetNext(&spFieldSymbol);
        if (SUCCEEDED(hr))
        {
            ComPtr<IDebugHostField> spField;
            if (SUCCEEDED(spFieldSymbol.As(&spField))) /* should always succeed */
            {
                // spField is each field of the type in turn
            }
        }
    }

    // hr == E_BOUNDS : we hit the end of the enumerator
    // hr == E_ABORT  : user requested interruption, propagate upwards immediately
}

Anforderungen

Anforderung Wert
Header- dbgmodel.h

Siehe auch

IDebugHostBaseClass2-Schnittstelle