Compartir a través de


Método IDebugHostBaseClass2::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 el tipo 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 como se indica en este argumento.

ppEnum

Un enumerador que enumera los símbolos secundarios del tipo y el nombre especificados se devolverán aquí.

Valor devuelto

Este método devuelve HRESULT que indica éxito o error.

Observaciones

de ejemplo de código de

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
encabezado de dbgmodel.h

Consulte también

interfaz IDebugHostBaseClass2