IDiaEnumSymbolsIDiaEnumSymbols

Enumera los símbolos distintos contenidos en el origen de datos.Enumerates the various symbols contained in the data source.

SintaxisSyntax

IDiaEnumSymbols : IUnknown  

Métodos en orden de VtableMethods in Vtable Order

La tabla siguiente muestran los métodos de IDiaEnumSymbols.The following table shows the methods of IDiaEnumSymbols.

MétodoMethod DescripciónDescription
IDiaEnumSymbols::get__NewEnumIDiaEnumSymbols::get__NewEnum Recupera el IEnumVARIANT Interface versión de este enumerador.Retrieves the IEnumVARIANT Interface version of this enumerator.
IDiaEnumSymbols::get_CountIDiaEnumSymbols::get_Count Recupera el número de símbolos.Retrieves the number of symbols.
IDiaEnumSymbols::ItemIDiaEnumSymbols::Item Recupera un símbolo de por medio de un índice.Retrieves a symbol by means of an index.
IDiaEnumSymbols::NextIDiaEnumSymbols::Next Recupera un número especificado de símbolos en la secuencia de enumeración.Retrieves a specified number of symbols in the enumeration sequence.
IDiaEnumSymbols::SkipIDiaEnumSymbols::Skip Omite un número especificado de símbolos en una secuencia de enumeración.Skips a specified number of symbols in an enumeration sequence.
IDiaEnumSymbols::ResetIDiaEnumSymbols::Reset Restablece una secuencia de enumeración al principio.Resets an enumeration sequence to the beginning.
IDiaEnumSymbols::CloneIDiaEnumSymbols::Clone Crea un enumerador que contiene el mismo estado de enumeración que el enumerador actual.Creates an enumerator that contains the same enumeration state as the current enumerator.

ComentariosRemarks

Esta interfaz proporciona símbolos agrupados por un tipo específico de símbolos, por ejemplo, SymTagUDT (tipos definidos por el usuario) o SymTagBaseClass.This interface provides symbols grouped by a specific type of symbol, for example, SymTagUDT (user-defined types) or SymTagBaseClass. Para trabajar con símbolos agrupados por dirección, use la IDiaEnumSymbolsByAddr interfaz.To work with symbols grouped by address, use the IDiaEnumSymbolsByAddr interface.

Notas para los llamadoresNotes for Callers

Obtener esta interfaz mediante una llamada a los métodos siguientes:Obtain this interface by calling the following methods:

EjemploExample

Este ejemplo muestra cómo obtener el IDiaEnumSymbols de interfaz y, a continuación, usar esa enumeración a los tipos de lista definido por el usuario (UDT).This example shows how to obtain the IDiaEnumSymbols interface and then use that enumeration to list user-defined types (UDTs).

Nota

CDiaBSTR es una clase que encapsula un BSTR y controla automáticamente la cadena que libera cuando la creación de instancias se sale del ámbito.CDiaBSTR is a class that wraps a BSTR and automatically handles freeing the string when the instantiation goes out of scope.

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;  
        }  
    }  
}  

RequisitosRequirements

Encabezado: Dia2.hHeader: Dia2.h

Biblioteca: diaguids.libLibrary: diaguids.lib

DLL: msdia80.dllDLL: msdia80.dll

Vea tambiénSee Also

Interfaces (Debug Interface Access SDK) Interfaces (Debug Interface Access SDK)
Idiasession:: Findchildren IDiaSession::findChildren
Idiasourcefile:: Get_compilands IDiaSourceFile::get_compilands
IDiaSymbol::findChildrenIDiaSymbol::findChildren