MapFileAndCheckSumA-Funktion (imagehlp.h)
Berechnet die Prüfsumme der angegebenen Datei.
Syntax
DWORD IMAGEAPI MapFileAndCheckSumA(
[in] PCSTR Filename,
[out] PDWORD HeaderSum,
[out] PDWORD CheckSum
);
Parameter
[in] Filename
Der Dateiname der Datei, für die die Prüfsumme berechnet werden soll.
[out] HeaderSum
Ein Zeiger auf eine Variable, die die ursprüngliche Prüfsumme aus der Bilddatei empfängt, oder null, wenn ein Fehler vorliegt.
[out] CheckSum
Ein Zeiger auf eine Variable, die die berechnete Prüfsumme empfängt.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert CHECKSUM_SUCCESS (0).
Wenn die Funktion fehlschlägt, ist der Rückgabewert einer der folgenden.
Zurückgeben von Code/Wert | Beschreibung |
---|---|
|
Die Datei konnte nicht zugeordnet werden. |
|
Eine Ansicht der Datei konnte nicht zugeordnet werden. |
|
Die Datei konnte nicht geöffnet werden. |
|
Der Dateiname konnte nicht in Unicode konvertiert werden. |
Bemerkungen
Die MapFileAndCheckSum--Funktion berechnet eine neue Prüfsumme für die Datei und gibt sie im parameter CheckSum zurück. Diese Funktion wird von jeder Anwendung verwendet, die ein ausführbares Bild erstellt oder ändert. Prüfsummen sind für Kernelmodustreiber und einige System-DLLs erforderlich. Der Linker berechnet die ursprüngliche Prüfsumme zur Linkzeit, wenn Sie den entsprechenden Linkerschalter verwenden. Weitere Details finden Sie in der Linkerdokumentation.
Es wird empfohlen, dass alle Bilder über gültige Prüfsummen verfügen. Es liegt in der Verantwortung des Aufrufers, die neu berechnete Prüfsumme in das zugeordnete Image zu setzen und das Image auf dem Datenträger der Datei zu aktualisieren.
Das Übergeben eines Filename- Parameters, der nicht auf ein gültiges ausführbares Bild verweist, führt zu unvorhersehbaren Ergebnissen. Jeder Benutzer dieser Funktion wird ermutigt, sicherzustellen, dass ein gültiges ausführbares Bild übergeben wird.
Alle ImageHlp-Funktionen, z. B. diese, sind single threaded. Daher führen Aufrufe von mehr als einem Thread zu dieser Funktion wahrscheinlich zu unerwartetem Verhalten oder Speicherbeschädigung. Um dies zu vermeiden, müssen Sie alle gleichzeitigen Aufrufe von mehr als einem Thread mit dieser Funktion synchronisieren.
Anmerkung
Der imagehlp.h-Header definiert MapFileAndCheckSum als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows XP [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows Server 2003 [Nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | imagehlp.h |
Library | Imagehlp.lib |
DLL- | Imagehlp.dll |