CryptDestroyHash-Funktion (wincrypt.h)

Wichtig Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
 
Die Funktion CryptDestroyHash 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, empfehlen wir, dass Hashobjekte zerstört werden, nachdem sie verwendet wurden.

Syntax

BOOL CryptDestroyHash(
  [in] HCRYPTHASH hHash
);

Parameter

[in] hHash

Der 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 für erweiterte Fehlerinformationen auf.

Die von "NTE" vorgestellten Fehlercodes werden vom jeweiligen kryptografischen Dienstanbieter (CSP ) generiert, den Sie verwenden. Einige mögliche Fehlercodes folgen.

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 einen Handle an, der ungültig ist.
ERROR_INVALID_PARAMETER
Der hHash-Parameter enthält einen Wert, der ungültig ist.
NTE_BAD_ALGID
Der hHash-Handle gibt einen Algorithmus an, den dieser CSP nicht unterstützt.
NTE_BAD_HASH
Das vom hHash-Parameter angegebene Hashobjekt ist ungültig.
NTE_BAD_UID
Der CSP-Kontext, der angegeben wurde, wenn das Hashobjekt erstellt wurde, kann nicht gefunden werden.

Hinweise

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

Es sollte eine 1:1-Korrespondenz zwischen Aufrufen von CryptCreateHash und CryptDestroyHash geben.

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

Beispiele

Ein Beispiel, das die Funktion CryptDestroyHash verwendet, finden Sie unter Beispiel C-Programm: Erstellen und Hashing 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