CryptDestroyHash-Funktion (wincrypt.h)
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 |
---|---|
|
Das von hHash angegebene Hashobjekt wird derzeit verwendet und kann nicht zerstört werden. |
|
Der hHash-Parameter gibt ein ungültiges Handle an. |
|
Der hHash-Parameter enthält einen ungültigen Wert. |
|
Das hHash-Handle gibt einen Algorithmus an, der von diesem CSP nicht unterstützt wird. |
|
Das vom hHash-Parameter angegebene Hashobjekt ist ungültig. |
|
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 |