IDiaEnumSymbols

Enumera los distintos símbolos contenidos en el origen de datos.

Sintaxis

IDiaEnumSymbols : IUnknown

Métodos en orden de Vtable

En la tabla siguiente se muestran los métodos de IDiaEnumSymbols.

Método Descripción
IDiaEnumSymbols::get__NewEnum Recupera la versión IEnumVARIANT Interface de este enumerador.
IDiaEnumSymbols::get_Count Recupera el número de símbolos.
IDiaEnumSymbols::Item Recupera un símbolo mediante un índice.
IDiaEnumSymbols::Next Recupera un número especificado de símbolos en la secuencia de enumeración.
IDiaEnumSymbols::Skip Omite un número especificado de símbolos en una secuencia de enumeración.
IDiaEnumSymbols::Reset Restablece una secuencia de enumeración al principio.
IDiaEnumSymbols::Clone Crea un enumerador que contiene el mismo estado de enumeración que el enumerador actual.

Observaciones

Esta interfaz proporciona símbolos agrupados por un tipo específico de símbolo, por ejemplo, SymTagUDT (tipos definidos por el usuario) o SymTagBaseClass. Para trabajar con símbolos agrupados por dirección, use la interfaz IDiaEnumSymbolsByAddr.

Notas para autores de la llamada

Para obtener esta interfaz, llame a los métodos siguientes:

Ejemplo

En este ejemplo se muestra cómo obtener la interfaz IDiaEnumSymbols y, a continuación, usar esa enumeración para enumerar tipos definidos por el usuario (UDT).

Nota

CDiaBSTR es una clase que encapsula BSTR y controla automáticamente la liberación de la cadena cuando la creación de instancias sale del ámbito.

void ShowUDTs(IDiaSymbol *pGlobals)
{
    CComPtr<IDiaEnumSymbols> pEnum;
    CComPtr<IDiaSymbol> pSymbol;
    HRESULT hr;

    hr = pGlobals->findChildren(SymTagUDT,
                                NULL,
                                nsfCaseInsensitive | nsfUndecoratedName,
                                &pEnum);
    if (hr == S_OK)
    {
        while ( SUCCEEDED( hr = pEnum->Next( 1, &pSymbol, &celt ) ) &&
                celt == 1 )
        {
            CDiaBSTR name;
            if ( pSymbol->get_name( &name ) != S_OK )
                Fatal( "get_name" );
            printf( "Found UDT: %ws\n", name );
            pSymbol = 0;
        }
    }
}

Requisitos

Encabezado: Dia2.h

Biblioteca: diaguids.lib

DLL: msdia80.dll

Vea también