Share via


MsiGetFileHashA-Funktion (msi.h)

Die MsiGetFileHash-Funktion übernimmt den Pfad zu einer Datei und gibt einen 128-Bit-Hash dieser Datei zurück. Erstellungstools können MsiGetFileHash verwenden, um den Dateihash abzurufen, der zum Auffüllen der MsiFileHash-Tabelle erforderlich ist.

Windows Installer verwendet Dateihashing als Mittel, um unnötiges Kopieren von Dateien zu erkennen und zu beseitigen. Ein in der MsiFileHash-Tabelle gespeicherter Dateihash kann mit einem Hash einer vorhandenen Datei auf dem Computer des Benutzers verglichen werden.

Syntax

UINT MsiGetFileHashA(
  [in]  LPCSTR           szFilePath,
  [in]  DWORD            dwOptions,
  [out] PMSIFILEHASHINFO pHash
);

Parameter

[in] szFilePath

Pfad zur Datei, die gehasht werden soll.

[in] dwOptions

Der Wert in dieser Spalte muss 0 sein. Dieser Parameter ist für die zukünftige Verwendung reserviert.

[out] pHash

Zeiger auf die zurückgegebenen Dateihashinformationen.

Rückgabewert

Wert Bedeutung
ERROR_SUCCESS
Die Funktion wurde erfolgreich abgeschlossen.
ERROR_FILE_NOT_FOUND
Die Datei ist nicht vorhanden.
ERROR_ACCESS_DENIED
Die Datei konnte nicht geöffnet werden, um Versionsinformationen abzurufen.
E_FAIL
Ein unerwarteter Fehler ist aufgetreten.
 
 

Hinweise

Der gesamte 128-Bit-Dateihash wird als vier 32-Bit-Felder zurückgegeben. Die Nummerierung der vier Felder ist nullbasiert. Die von MsiGetFileHash zurückgegebenen Werte entsprechen den vier Feldern der MSIFILEHASHINFO-Struktur . Das erste Feld entspricht der HashPart1-Spalte der Tabelle MsiFileHash, das zweite Feld der HashPart2-Spalte, das dritte Feld der HashPart3-Spalte und das vierte Feld der HashPart4-Spalte.

Die in die MsiFileHash-Tabelle eingegebenen Hashinformationen müssen durch Aufrufen von MsiGetFileHash oder der FileHash-Methode abgerufen werden. Versuchen Sie nicht, andere Methoden zum Generieren des Dateihashs zu verwenden.

Hinweis

Der msi.h-Header definiert MsiGetFileHash 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 Installer 5.0 unter Windows Server 2012, Windows 8, Windows Server 2008 R2 oder Windows 7. Windows Installer 4.0 oder Windows Installer 4.5 unter Windows Server 2008 oder Windows Vista. Windows Installer unter Windows Server 2003 oder Windows XP. Informationen zum mindestens erforderlichen Windows Service Pack für eine Windows Installer-Version finden Sie unter Windows Installer – Laufzeitanforderungen.
Zielplattform Windows
Kopfzeile msi.h
Bibliothek Msi.lib
DLL Msi.dll

Siehe auch

Standardversionsverwaltung von Dateien

MSIFILEHASHINFO

MsiFileHash-Tabelle