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.
Rückgabecode/-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. |
Hinweise
Die MapFileAndCheckSum-Funktion berechnet eine neue Prüfsumme für die Datei und gibt sie im CheckSum-Parameter zurück. Diese Funktion wird von jeder Anwendung verwendet, die ein ausführbares Image 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 Informationen finden Sie in der Dokumentation zu Ihrem Linker.
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 im zugeordneten Image zu platzieren und das Image der Datei auf dem Datenträger zu aktualisieren.
Das Übergeben eines Filename-Parameters , der nicht auf ein gültiges ausführbares Image verweist, führt zu unvorhersehbaren Ergebnissen. Jeder Benutzer dieser Funktion wird aufgefordert, sicherzustellen, dass ein gültiges ausführbares Image übergeben wird.
Alle ImageHlp-Funktionen, z. B. diese, sind single threaded. Daher führen an diese Funktion gerichtete Aufrufe mehrerer Threads wahrscheinlich zu unerwartetem Verhalten oder einer Beschädigung des Speichers. Um dies zu vermeiden, müssen Sie alle an diese Funktion gerichteten gleichzeitigen Aufrufe mehrerer Threads synchronisieren.
Hinweis
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 nicht codierungsneutralem Code 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 |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | imagehlp.h |
Bibliothek | Imagehlp.lib |
DLL | Imagehlp.dll |