IDiaEnumSymbolsByAddrIDiaEnumSymbolsByAddr

Énumère les différents symboles contenus dans la source de données par adresse.Enumerates by address the various symbols contained in the data source.

SyntaxeSyntax

IDiaEnumSymbolsByAddr : IUnknown  

Méthodes dans l'ordre VtableMethods in Vtable Order

Le tableau suivant présente les méthodes de IDiaEnumSymbolsByAddr.The following table shows the methods of IDiaEnumSymbolsByAddr.

MéthodeMethod DescriptionDescription
IDiaEnumSymbolsByAddr::symbolByAddrIDiaEnumSymbolsByAddr::symbolByAddr Place l’énumérateur en effectuant une recherche par section et le décalage.Positions the enumerator by performing a lookup by section and offset.
IDiaEnumSymbolsByAddr::symbolByRVAIDiaEnumSymbolsByAddr::symbolByRVA Place l’énumérateur en effectuant une recherche par adresse virtuelle relative (RVA).Positions the enumerator by performing a lookup by relative virtual address (RVA).
IDiaEnumSymbolsByAddr::symbolByVAIDiaEnumSymbolsByAddr::symbolByVA Place l’énumérateur en effectuant une recherche par adresse virtuelle (VA).Positions the enumerator by performing a lookup by virtual address (VA).
IDiaEnumSymbolsByAddr::NextIDiaEnumSymbolsByAddr::Next Récupère les symboles suivants dans l’ordre par adresse.Retrieves the next symbols in order by address. Met à jour la position de l’énumérateur par nombre d’éléments extraits.Updates the enumerator position by number of elements fetched.
IDiaEnumSymbolsByAddr::PrevIDiaEnumSymbolsByAddr::Prev Récupère les symboles précédentes dans l’ordre par adresse.Retrieves the previous symbols in order by address. Met à jour la position de l’énumérateur par nombre d’éléments extraits.Updates the enumerator position by number of elements fetched.
IDiaEnumSymbolsByAddr::CloneIDiaEnumSymbolsByAddr::Clone Effectue une copie d’un objet.Makes a copy of an object.

NotesRemarks

Cette interface fournit des symboles groupés par adresse.This interface provides symbols grouped by address. Pour travailler avec des symboles regroupées par type, par exemple SymTagUDT (type défini par l’utilisateur) ou SymTagBaseClass, utilisez le IDiaEnumSymbols interface.To work with symbols grouped by type, for example SymTagUDT (user-defined type) or SymTagBaseClass, use the IDiaEnumSymbols interface.

Remarques pour les appelantsNotes for Callers

Obtenez cette interface en appelant le IDiaSession::getSymbolsByAddr (méthode).Obtain this interface by calling the IDiaSession::getSymbolsByAddr method.

ExempleExample

Cette fonction affiche le nom et l’adresse de tous les symboles sont classés par adresse virtuelle relative.This function displays the name and address of all symbols ordered by relative virtual address.

void ShowSymbolsByAddress(IDiaSession *pSession)  
{  
    CComPtr<IDiaEnumSymbolsByAddr> pEnumByAddr;  
    if ( FAILED( psession->getSymbolsByAddr( &pEnumByAddr ) ) )  
    {  
        Fatal( "getSymbolsByAddr" );  
    }  
    CComPtr<IDiaSymbol> pSym;  
    if ( FAILED( pEnumByAddr->symbolByAddr( 1, 0, &pSym ) ) )  
    {  
        Fatal( "symbolByAddr" );  
    }  
    DWORD rvaLast = 0;  
    if ( pSym->get_relativeVirtualAddress( &rvaLast ) == S_OK )  
    {  
        pSym = 0;  
        if ( FAILED( pEnumByAddr->symbolByRVA( rvaLast, &pSym ) ) )  
        {  
            Fatal( "symbolByAddr" );  
        }  
        printf( "Symbols in order\n" );  
        do  
        {   
            CDiaBSTR name;  
            if ( pSym->get_name( &name ) != S_OK )  
            {  
                printf( "\t0x%08X (%ws) <no name>\n", rvaLast );  
            }  
            else  
            {  
               printf( "\t0x%08X %ws\n", rvaLast, name );  
            }  
            pSym = 0;  
            celt = 0;  
            if ( FAILED( hr = pEnumByAddr->Next( 1, &pSym, &celt ) ) )  
            {  
                break;  
            }  
        } while ( celt == 1 );  
    }  
}  

SpécificationsRequirements

En-tête : Dia2.hHeader: Dia2.h

Bibliothèque : diaguids.libLibrary: diaguids.lib

DLL : msdia80.dllDLL: msdia80.dll

Voir aussiSee Also

Interfaces (Debug Interface Access SDK) Interfaces (Debug Interface Access SDK)
IDiaSession::getSymbolsByAddr IDiaSession::getSymbolsByAddr
IDiaEnumSymbolsIDiaEnumSymbols