IDebugHostPublic::EnumerateChildren-Methode (dbgmodel.h)
Die EnumerateChildren-Methode gibt einen Enumerator zurück, der alle untergeordneten Elemente eines bestimmten Symbols aufzählt. Für einen C++-Typ gelten z. B. die Basisklassen, Felder, Memberfunktionen und dergleichen als untergeordnete Elemente des Typsymbols.
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 von untergeordneten Symbolen aufgelistet.
name
Wenn angegeben, werden nur untergeordnete Symbole mit einem Namen, wie in diesem Argument angegeben, aufgelistet.
ppEnum
Hier wird ein Enumerator zurückgegeben, der untergeordnete Symbole der angegebenen Art und des angegebenen Namens aufzählt.
Rückgabewert
Diese Methode gibt HRESULT zurück, das den Erfolg oder Fehler angibt.
Hinweise
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 |