CryptDestroyHash-Funktion (wincrypt.h)

Wichtig Diese API ist veraltet. Neue und vorhandene Software sollte mit der Verwendung von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
 
Die CryptDestroyHash-Funktion zerstört das Hashobjekt, auf das vom hHash-Parameter verwiesen wird. Nachdem ein Hashobjekt zerstört wurde, kann es nicht mehr verwendet werden.

Um die Sicherheit zu gewährleisten, wird empfohlen, Hashobjekte zu zerstören, nachdem sie verwendet wurden.

Syntax

BOOL CryptDestroyHash(
  [in] HCRYPTHASH hHash
);

Parameter

[in] hHash

Das Handle des zu zerstörenden Hashobjekts.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten.

Die von "NTE" vorangestellten Fehlercodes werden von dem jeweiligen kryptografischen Dienstanbieter (CSP ) generiert, den Sie verwenden. Es folgen einige mögliche Fehlercodes.

Rückgabecode Beschreibung
ERROR_BUSY
Das von hHash angegebene Hashobjekt wird derzeit verwendet und kann nicht zerstört werden.
ERROR_INVALID_HANDLE
Der hHash-Parameter gibt ein ungültiges Handle an.
ERROR_INVALID_PARAMETER
Der hHash-Parameter enthält einen ungültigen Wert.
NTE_BAD_ALGID
Das hHash-Handle gibt einen Algorithmus an, der von diesem CSP nicht unterstützt wird.
NTE_BAD_HASH
Das vom hHash-Parameter angegebene Hashobjekt ist ungültig.
NTE_BAD_UID
Der CSP-Kontext, der beim Erstellen des Hashobjekts angegeben wurde, kann nicht gefunden werden.

Hinweise

Wenn ein Hashobjekt zerstört wird, überschreiben viele CSPs den Speicher in dem CSP, in dem das Hashobjekt gespeichert wurde. Der CSP-Speicher wird dann freigegeben.

Zwischen Aufrufen von CryptCreateHash und CryptDestroyHash sollte eine 1:1-Korrespondenz bestehen.

Alle Hashobjekte, die mit einem bestimmten CSP erstellt wurden, müssen zerstört werden, bevor dieses CSP-Handle mit der CryptReleaseContext-Funktion freigegeben wird.

Beispiele

Ein Beispiel, das die CryptDestroyHash-Funktion verwendet, finden Sie unter Beispiel-C-Programm: Erstellen und Hashen eines Sitzungsschlüssels.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile wincrypt.h
Bibliothek Advapi32.lib
DLL Advapi32.dll

Weitere Informationen

CryptCreateHash

CryptHashData

CryptSignHash

Hash- und digitale Signaturfunktionen