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 |
---|---|
|
Die Funktion wurde erfolgreich abgeschlossen. |
|
Die Datei ist nicht vorhanden. |
|
Die Datei konnte nicht geöffnet werden, um Versionsinformationen abzurufen. |
|
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 |