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