IDiaAddressMap::set_imageHeaders

Définit les en-têtes d’image pour activer la traduction d’adresses virtuelles relatives.

Syntaxe

HRESULT set_imageHeaders ( 
   DWORD cbData,
   BYTE  data[],
   BOOL  originalHeaders
);

Paramètres

cbData

[in] Nombre d’octets de données d’en-tête. Doit être n*sizeof(IMAGE_SECTION_HEADER)n correspond au nombre d’en-têtes de section dans l’exécutable.

data[]

[in] Tableau de structures IMAGE_SECTION_HEADER à utiliser comme en-têtes d’image.

originalHeaders

[in] Défini sur la valeur FALSE si les en-têtes d’image proviennent de la nouvelle image, et défini sur TRUE si elles reflètent l’image d’origine avant une mise à niveau. En règle générale, cette valeur est définie sur TRUE uniquement en combinaison avec les appels à la méthode IDiaAddressMap::set_addressMap.

Valeur renvoyée

En cas de réussite, retourne S_OK , sinon, retourne un code d'erreur.

Remarques

La structure IMAGE_SECTION_HEADER est déclarée dans Winnt.h et représente le format d’en-tête de section image de l’exécutable.

Les calculs d’adresse virtuelle relative dépendent des valeurs IMAGE_SECTION_HEADER. En règle générale, le DIA récupère ces données à partir du fichier de base de données du programme (.pdb). Si ces valeurs sont manquantes, le DIA ne peut pas calculer les adresses virtuelles relatives et la méthode IDiaAddressMap::get_relativeVirtualAddressEnabled retourne FALSE. Le client doit ensuite appeler la méthode IDiaAddressMap::p ut_relativeVirtualAddressEnabled pour activer les calculs d’adresse virtuelle relative après avoir fourni les en-têtes d’image manquants de l’image elle-même.

Voir aussi