Fonction MapFileAndCheckSumA (imagehlp.h)
Calcule la somme de contrôle du fichier spécifié.
Syntaxe
DWORD IMAGEAPI MapFileAndCheckSumA(
[in] PCSTR Filename,
[out] PDWORD HeaderSum,
[out] PDWORD CheckSum
);
Paramètres
[in] Filename
Nom du fichier pour lequel la somme de contrôle doit être calculée.
[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 une variable qui reçoit la somme de contrôle calculée.
Valeur retournée
Si la fonction réussit, la valeur de retour est CHECKSUM_SUCCESS (0).
Si la fonction échoue, la valeur de retour est l’une des suivantes.
Code/valeur de retour | Description |
---|---|
|
Impossible de mapper le fichier. |
|
Impossible de mapper une vue du fichier. |
|
Impossible d’ouvrir le fichier. |
|
Impossible de convertir le nom de fichier en Unicode. |
Remarques
La fonction MapFileAndCheckSum 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.
Le passage d’un paramètre Filename qui ne pointe pas vers une image exécutable valide produit des résultats imprévisibles. Tout utilisateur de cette fonction est encouragé à s’assurer qu’une image exécutable valide est transmise.
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.
Notes
L’en-tête imagehlp.h définit MapFileAndCheckSum comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de 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 |