Método IDebugHostData::EnumerateChildren (dbgmodel.h)
El método EnumerateChildren devuelve un enumerador que enumerará todos los elementos secundarios de un símbolo determinado. Para un tipo de C++, por ejemplo, las clases base, los campos, las funciones miembro y como todos se consideran elementos secundarios del símbolo de tipo.
Sintaxis
HRESULT EnumerateChildren(
SymbolKind kind,
PCWSTR name,
IDebugHostSymbolEnumerator **ppEnum
);
Parámetros
kind
Indica qué tipos de símbolos secundarios desea enumerar el autor de la llamada. Si se pasa el valor plano Symbol, se enumerarán todos los tipos de símbolos secundarios.
name
Si se especifica, solo se enumerarán los símbolos secundarios con un nombre tal y como se indica en este argumento.
ppEnum
Aquí se devolverá un enumerador que enumera los símbolos secundarios del tipo y el nombre especificados.
Valor devuelto
Este método devuelve HRESULT que indica éxito o error.
Comentarios
Ejemplo de código
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
}
Requisitos
Requisito | Valor |
---|---|
Header | dbgmodel.h |