MapFileAndCheckSumA, fonction (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 de retour
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.
Retourner le code/la valeur | 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 l’é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 génère 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, comme celle-ci, sont monothread. Par conséquent, les appels de plusieurs threads à cette fonction entraîneront probablement une altération inattendue du comportement ou de la mémoire. Pour éviter cela, vous devez synchroniser tous les appels simultanés de plusieurs threads vers cette fonction.
Note
L’en-tête imagehlp.h définit MapFileAndCheckSum comme 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.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows XP [applications de bureau uniquement] |
serveur minimum pris en charge | Windows Server 2003 [applications de bureau uniquement] |
plateforme cible | Windows |
d’en-tête | imagehlp.h |
bibliothèque | Imagehlp.lib |
DLL | Imagehlp.dll |