Sdílet prostřednictvím


IDiaSectionContrib

Načte data popisující části příspěvku, je souvislý blok paměti přinese obrazu compiland.

IDiaSectionContrib : IUnknown

Metody v pořadí virtuální tabulka

Následující tabulka obsahuje metody IDiaSectionContrib.

Metoda

Description

IDiaSectionContrib::get_compiland

Získá referenci na symbol compiland, která přispěla v této části.

IDiaSectionContrib::get_addressSection

Načte část část adresy příspěvek.

IDiaSectionContrib::get_addressOffset

Načte posunu část adresy příspěvek.

IDiaSectionContrib::get_relativeVirtualAddress

Obnoví obrázek relativní virtuální adresu (RVA) příspěvku.

IDiaSectionContrib::get_virtualAddress

Načte virtuální adresa (VA) příspěvku.

IDiaSectionContrib::get_length

Počet bajtů v oddílu načte.

IDiaSectionContrib::get_notPaged

Použije příznak, který označuje, zda oddíl nelze stránkovat paměť.

IDiaSectionContrib::get_nopad

Příznak označující, zda oddíl by není doplněno další hranici paměti načítá.

IDiaSectionContrib::get_code

Použije příznak, který označuje, zda oddíl obsahuje spustitelný kód.

IDiaSectionContrib::get_code16bit

Příznak označující, zda oddíl obsahuje 16bitový kód načte.

IDiaSectionContrib::get_initializedData

Příznak označující, zda obsahuje v části inicializovat data načte.

IDiaSectionContrib::get_uninitializedData

Příznak označující, zda oddíl obsahuje neinicializovaná data načte.

IDiaSectionContrib::get_informational

Použije příznak označující, zda je oddíl obsahuje komentáře nebo podobné informace.

IDiaSectionContrib::get_remove

Použije příznak, který označuje, zda je v části odebrán před jeho část obrazu v paměti.

IDiaSectionContrib::get_comdat

Použije příznak, který označuje, zda je v části COMDAT záznamu.

IDiaSectionContrib::get_discardable

Použije příznak, který označuje, zda lze v části zrušeny.

IDiaSectionContrib::get_notCached

Příznak označující, zda oddíl nemůže být do mezipaměti načte.

IDiaSectionContrib::get_share

Použije příznak, který označuje, zda lze sdílet v části v paměti.

IDiaSectionContrib::get_execute

Příznak, který označuje, zda je v části spustitelné jako kód načte.

IDiaSectionContrib::get_read

Použije příznak, který označuje, zda lze číst v oddílu.

IDiaSectionContrib::get_write

Příznak označující, zda může být zapsán v oddílu načte.

IDiaSectionContrib::get_dataCrc

Cyklická redundantní kontrola (CRC) v části data načte.

IDiaSectionContrib::get_relocationsCrc

Načte CRC informace přemístění části.

IDiaLineNumber::get_compilandId

Načte identifikátor compiland oddílu.

Poznámky

Poznámky pro volající

Toto rozhraní je získat voláním IDiaEnumSectionContribs::Item a IDiaEnumSectionContribs::Next metod.Najdete IDiaEnumSectionContribs rozhraní, například získání IDiaSectionContrib rozhraní.

Příklad

Tato funkce zobrazuje adresu každého oddílu spolu s všechny přidružené symboly.Viz IDiaEnumSectionContribs rozhraní zobrazit jak na IDiaSectionContrib se získá rozhraní.

void PrintSectionContrib(IDiaSectionContrib* pSecContrib, IDiaSession* pSession)
{
    if (pSecContrib != NULL && pSession != NULL)
    {
        DWORD rva;
        if ( pSecContrib->get_relativeVirtualAddress( &rva ) == S_OK )
        {
            printf( "\taddr: 0x%.8X", rva );
            pSecContrib = NULL;
            CComPtr<IDiaSymbol> pSym;
            if ( psession->findSymbolByRVA( rva, SymTagNull, &pSym ) == S_OK )
            {
                CDiaBSTR name;
                DWORD    tag;
                pSym->get_symTag( &tag );
                pSym->get_name( &name );
                printf( "     symbol: %ws (%ws)\n",
                        name != NULL ? name : L"",
                        szTags[ tag ] );
            }
            else
            {
                printf( "<no symbol found?>\n" );
            }
        }
        else
        {
            DWORD isect;
            DWORD offset;
            pSecContrib->get_addressSection( &isect );
            pSecContrib->get_addressOffset( &offset );
            printf( "\taddr: 0x%.4X:0x%.8X", isect, offset );
            pSecContrib = NULL;
            CComPtr<IDiaSymbol> pSym;
            if ( SUCCEEDED( psession->findSymbolByAddr(
                                              isect,
                                              offset,
                                              SymTagNull,
                                              &pSym )
                          )
               )
            {
                CDiaBSTR name;
                DWORD    tag;
                pSym->get_symTag( &tag );
                pSym->get_name( &name );
                printf( "     symbol: %ws (%ws)\n",
                    name != NULL ? name : L"",
                    szTags[ tag ] );
            }
            else
            {
                printf( "<no symbol found?>\n" );
            }
        }
    }
}

Požadavky

Záhlaví: Dia2.h

Knihovny: diaguids.lib

Knihovna DLL: msdia80.dll

Viz také

Referenční dokumentace

IDiaEnumSectionContribs

IDiaEnumSectionContribs::Item

IDiaEnumSectionContribs::Next

Další zdroje

Rozhraní (ladění přístupu k rozhraní SDK)