IDiaSectionContrib
Récupère les données qui décrit une contribution de section, c. autrement dit., un bloc de mémoire contigu fourni à l'image selon un module (compiland).
IDiaSectionContrib : IUnknown
méthodes en commande de Vtable
Le tableau suivant répertorie les méthodes d' IDiaSectionContrib.
Méthode |
Description |
---|---|
Extrait une référence au symbole de module qui a fourni cette section. |
|
Extrait la partie de la section de l'adresse de la contribution. |
|
Extrait la partie d'offset de l'adresse de la contribution. |
|
Récupère l'adresse virtuelle relative de l'image (RVA) de la contribution. |
|
Récupère l'adresse (VA) virtuelle de la contribution. |
|
Récupère le nombre d'octets dans une section. |
|
extrait une balise qui indique si la section ne peut pas être mémoire insuffisante paginé. |
|
Extrait une balise qui indique si la section ne doit pas être effectuée à la limite suivante de mémoire. |
|
Extrait une balise qui indique si la section contient le code exécutable. |
|
Extrait une balise qui indique si la section contient le code 16 bits. |
|
extrait une balise qui indique si la section contient des données initialisées. |
|
extrait une balise qui indique si la section contient des données non initialisées. |
|
Extrait une balise indiquant si une section contient les commentaires ou les informations similaires. |
|
Extrait une balise qui indique si la section est supprimée pour que ce soit effectué à une partie de l'image en mémoire. |
|
Extrait une balise qui indique si la section est un enregistrement COMDAT. |
|
extrait une balise qui indique si la section peut être ignorée. |
|
extrait une balise qui indique si la section ne peut pas être mise en cache. |
|
extrait une balise qui indique si la section peut être partagée dans la mémoire. |
|
Extrait une balise qui indique si la section est exécutable comme du code. |
|
Extrait une balise qui indique si la section peuvent être lues. |
|
extrait une balise qui indique si la section peut être écrite. |
|
Récupère le contrôle de (CRC) redondance cyclique des données dans la section. |
|
Extrait CRC des informations de réadressage de la section. |
|
Extrait l'identificateur de module (compiland) de la section. |
Notes
Remarques pour les appelants
cette interface est obtenue en appelant les méthodes d' IDiaEnumSectionContribs::Item et d' IDiaEnumSectionContribs::Next . Consultez l'interface d' IDiaEnumSectionContribs pour obtenir un exemple d'obtenir IDiaSectionContrib pour relier.
Exemple
Cette fonction illustre l'adresse de chaque section ainsi que tous les symboles associés. Consultez l'interface d' IDiaEnumSectionContribs pour voir comment l'interface d' IDiaSectionContrib est obtenue.
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" );
}
}
}
}
Configuration requise
en-tête : Dia2.h
bibliothèque : diaguids.lib
DLL : msdia80.dll
Voir aussi
Référence
Autres ressources
Interfaces (Kit de développement logiciel de Debug Interface Access)