WTHelperGetFileHash-Funktion

[Die WTHelperGetFileHash-Funktion ist für die Verwendung in den Betriebssystemen verfügbar, die im Abschnitt Anforderungen angegeben sind. Sie kann in nachfolgenden Versionen geändert oder nicht verfügbar sein.]

Die WTHelperGetFileHash-Funktion überprüft die Signatur einer signierten Datei und ruft den Hashwert und den Algorithmusbezeichner für die Datei ab.

Hinweis

Diese Funktion wird in einer veröffentlichten Headerdatei nicht deklariert. Um diese Funktion zu verwenden, deklarieren Sie sie im exakt angezeigten Format. Diese Funktion verfügt auch über keine zugeordnete Importbibliothek. Sie müssen die Funktionen LoadLibrary und GetProcAddress verwenden, um eine dynamische Verknüpfung mit Wintrust.dll.

 

Syntax

LONG WINAPI WTHelperGetFileHash(
  _In_        LPCWSTR pwszFilename,
  _In_        DWORD   dwFlags,
  _Inout_opt_ PVOID   pvReserved,
  _Out_opt_   BYTE    *pbFileHash,
  _Inout_opt_ DWORD   *pcbFileHash,
  _Out_opt_   ALG_ID  *pHashAlgid
);

Parameter

pwszFilename [in]

Ein Zeiger auf eine Unicode-Zeichenfolge mit Null-Beendigung, die den Pfad und dateinamen der Datei enthält, für die der Hash abgerufen werden soll.

dwFlags [in]

Dieser Parameter wird nicht verwendet und sollte null sein.

pvReserved [in, out, optional]

Dieser Parameter wird nicht verwendet und sollte NULL sein.

pbFileHash [out, optional]

Ein Zeiger auf einen Puffer zum Empfangen des Hashwerts für die Datei. Der parameter pcbFileHash enthält die Größe dieses Puffers.

pcbFileHash [in, out, optional]

Ein Zeiger auf eine DWORD-Variable , die bei der Eingabe die Größe des Puffers pbFileHash in Bytes enthält und bei der Ausgabe die Größe des Hashwerts in Bytes empfängt.

Um die erforderliche Größe des Hashwerts abzurufen, übergeben Sie NULL für den pbFileHash-Parameter . Diese Funktion platziert die erforderliche Größe des Hashwerts in Bytes an diesem Speicherort.

Wenn der pbFileHash-Parameter nicht NULL ist und die Größe nicht groß genug ist, um den Hashwert zu empfangen, platziert diese Funktion die erforderliche Größe in Bytes an diesem Speicherort und gibt ERROR_MORE_DATA zurück.

pHashAlgid [out, optional]

Ein Zeiger auf eine ALG_ID Variable, um den Bezeichner des Algorithmus zu empfangen, der zum Erstellen des Hashwerts verwendet wird. Dieser Parameter kann NULL sein, wenn diese Informationen nicht benötigt werden.

Rückgabewert

Gibt einen status Code zurück, der den Erfolg oder Fehler der Funktion angibt.

Mögliche Rückgabecodes umfassen folgendes, sind aber nicht darauf beschränkt.

Rückgabecode Beschreibung
ERROR_SUCCESS
Die Datei ist signiert, und die Signatur wurde überprüft.
ERROR_MORE_DATA
Der pbFileHash-Parameter ist nicht NULL, und die vom pcbFileHash-Parameter angegebene Größe ist nicht groß genug, um den Hash zu empfangen.
ERROR_NOT_ENOUGH_MEMORY
Ein Fehler bei der Speicherzuordnung ist aufgetreten.
TRUST_E_BAD_DIGEST
Die Signatur der Datei wurde nicht überprüft.
TRUST_E_NOSIGNATURE
Die Datei wurde nicht signiert oder hatte eine ungültige Signatur.

 

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Server 2003 [nur Desktop-Apps]
DLL
Wintrust.dll