Compartir a través de


Método IDebugHostPublic::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

Consulte también

Interfaz IDebugHostPublic