CheckSumMappedFile, fonction (imagehlp.h)
Calcule la somme de contrôle du fichier image spécifié.
Syntaxe
PIMAGE_NT_HEADERS IMAGEAPI CheckSumMappedFile(
[in] PVOID BaseAddress,
[in] DWORD FileLength,
[out] PDWORD HeaderSum,
[out] PDWORD CheckSum
);
Paramètres
[in] BaseAddress
Adresse de base du fichier mappé. Cette valeur est obtenue en appelant la fonction MapViewOfFile .
[in] FileLength
Taille du fichier, en octets.
[out] HeaderSum
Pointeur vers une variable qui reçoit la somme de contrôle d’origine du fichier image, ou zéro en cas d’erreur.
[out] CheckSum
Pointeur vers la variable qui reçoit la somme de contrôle calculée.
Valeur retournée
Si la fonction réussit, la valeur de retour est un pointeur vers la structure IMAGE_NT_HEADERS contenue dans l’image mappée.
Si la fonction échoue, la valeur de retour est NULL. Pour récupérer des informations d’erreur étendues, appelez GetLastError.
Remarques
La fonction CheckSumMappedFile calcule une nouvelle somme de contrôle pour le fichier et la retourne dans le paramètre CheckSum . Cette fonction est utilisée par toute application qui crée ou modifie une image exécutable. Les sommes de contrôle sont requises pour les pilotes en mode noyau et certaines DLL système. L’éditeur de liens calcule la somme de contrôle d’origine au moment du lien, si vous utilisez le commutateur d’éditeur de liens approprié. Pour plus d’informations, consultez la documentation de votre éditeur de liens.
Il est recommandé que toutes les images aient des sommes de contrôle valides. Il incombe à l’appelant de placer la somme de contrôle nouvellement calculée dans l’image mappée et de mettre à jour l’image sur disque du fichier.
Toutes les fonctions ImageHlp, telles que celle-ci, sont à thread unique. Par conséquent, les appels de plusieurs threads à cette fonction entraîneront probablement un comportement inattendu ou une altération de la mémoire. Pour éviter cela, vous devez synchroniser tous les appels simultanés de plusieurs threads vers cette fonction.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | imagehlp.h |
Bibliothèque | Imagehlp.lib |
DLL | Imagehlp.dll |