Freigeben über


CryptCATAdminCalcHashFromFileHandle2-Funktion (mscat.h)

Die Funktion CryptCATAdminCalcHashFromFileHandle2 berechnet den Hash für eine Datei mithilfe des angegebenen Algorithmus.

Diese Funktion verfügt über keine zugeordnete Importbibliothek. Sie müssen die Funktionen LoadLibrary und GetProcAddress verwenden, um eine dynamische Verknüpfung mit Wintrust.dll.

Syntax

BOOL CryptCATAdminCalcHashFromFileHandle2(
  [in]      HCATADMIN hCatAdmin,
  [in]      HANDLE    hFile,
  [in, out] DWORD     *pcbHash,
            BYTE      *pbHash,
            DWORD     dwFlags
);

Parameter

[in] hCatAdmin

Handle eines offenen Katalogadministratorkontexts. Weitere Informationen finden Sie unter CryptCATAdminAcquireContext2.

[in] hFile

Ein Handle für die Datei, deren Hash berechnet wird. Dieser Parameter darf NICHT NULL sein und muss ein gültiges Dateihandle sein.

[in, out] pcbHash

Zeiger auf eine DWORD-Variable , die die Anzahl von Bytes im pbHash-Parameter enthält. Legen Sie bei der Eingabe pcbHash auf die Anzahl der Bytes fest, die für pbHash zugewiesen sind. Nach der Rückgabe enthält pcbHash die Anzahl der zurückgegebenen Bytes in pbHash. Wenn pbHash auf NULL festgelegt ist, enthält pcbHash die Anzahl der Bytes, die für pbHash zugewiesen werden sollen.

pbHash

Zeiger auf einen BYTE-Puffer , der den Hash empfängt. Wenn Sie diesen Parameter auf NULL festlegen, enthält pcbHash die Anzahl der Bytes, die für pbHash zugeordnet werden sollen, und ein späterer Aufruf kann erfolgen, um den Hash abzurufen.

dwFlags

Reserviert. Dieser Wert muss null (0) sein.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert nonzero (TRUE).

Wenn die Funktion fehlschlägt, ist der Rückgabewert 0 (FALSE). Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten.

In der folgenden Tabelle sind die Fehlercodes aufgeführt, die am häufigsten von der GetLastError-Funktion zurückgegeben werden.

Rückgabecode Beschreibung
ERROR_INVALID_PARAMETER
Der hFile-Parameter darf nicht NULL sein.

Der hFile-Parameter muss ein gültiges Dateihandle sein.

Der pcbHash-Parameter darf nicht NULL sein.

Der dwFlags-Parameter muss null (0) sein.

ERROR_INSUFFICIENT_BUFFER
Der Puffer, auf den der pbHash-Parameter verweist, war nicht NULL , aber nicht groß genug, um geschrieben zu werden. Die richtige Größe des erforderlichen Puffers ist in dem Wert enthalten, auf den der pcbHash-Parameter verweist.
NTE_BAD_ALGID
Der durch den parameter pwszHashAlgorithm angegebene Hashalgorithmus kann nicht gefunden werden.

Hinweise

Die Dauer der Ausführung dieser Funktion hängt von der Länge der Zuhashdatei, dem verwendeten Algorithmus und dem Speicherort der Datei ab. Beispielsweise dauert es einige Sekunden, bis der Hash einer lokalen Datei berechnet wird, die sehr groß ist (einige hundert Megabyte).

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 8 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile mscat.h
Bibliothek Wintrust.lib
DLL Wintrust.dll

Weitere Informationen

CryptCATAdminCalcHashFromFileHandle

CryptCATAdminCalcHashFromFileHandle2