Freigeben über


MsiGetFileHashA-Funktion (msi.h)

Die MsiGetFileHash--Funktion verwendet 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-Tabelleerforderlich ist.

Windows Installer verwendet Dateihashing als Mittel, um unnötige Dateikopien zu erkennen und zu vermeiden. 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 zu Datei, die hashed werden soll.

[in] dwOptions

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

[out] pHash

Zeigen Sie 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
Unerwarteter Fehler.
 
 

Bemerkungen

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 Spalte "HashPart1" der MsiFileHash-Tabelle, das zweite Feld entspricht der Spalte "HashPart2", das dritte Feld entspricht der Spalte "HashPart3", und das vierte Feld entspricht der Spalte "HashPart4".

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

Anmerkung

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 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 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 von einer Windows Installer-Version erforderlichen Windows-Service Pack finden Sie unter den Windows Installer-Run-Time Anforderungen.
Zielplattform- Fenster
Header- msi.h
Library Msi.lib
DLL- Msi.dll

Siehe auch

Standarddateiversionsverwaltung

MSIFILEHASHINFO-

MsiFileHash-Tabelle