Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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) où 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.