CryptDestroyKey-Funktion (wincrypt.h)
Wenn sich das Handle auf einen Sitzungsschlüssel oder einen öffentlichen Schlüssel bezieht, der über CryptImportKey in den Kryptografiedienstanbieter (CSP) importiert wurde, zerstört diese Funktion den Schlüssel und gibt den vom Schlüssel verwendeten Arbeitsspeicher frei. Viele CSPs überschreiben den Speicher, in dem der Schlüssel gespeichert wurde, bevor er freigegeben wurde. Das zugrunde liegende öffentliche/private Schlüsselpaar wird jedoch nicht durch diese Funktion zerstört. Nur das Handle wird zerstört.
Syntax
BOOL CryptDestroyKey(
[in] HCRYPTKEY hKey
);
Parameter
[in] hKey
Das Handle des zu zerstörenden Schlüssels.
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 verwendeten CSP generiert. Einige mögliche Fehlercodes sind in der folgenden Tabelle aufgeführt.
Rückgabecode | Beschreibung |
---|---|
|
Das von hKey angegebene Schlüsselobjekt wird derzeit verwendet und kann nicht zerstört werden. |
|
Der Parameter hKey gibt ein ungültiges Handle an. |
|
Der hKey-Parameter enthält einen ungültigen Wert. |
|
Der hKey-Parameter enthält kein gültiges Handle für einen Schlüssel. |
|
Der CSP-Kontext, der beim Erstellen des Schlüssels angegeben wurde, kann nicht gefunden werden. |
Hinweise
Schlüssel belegen sowohl den Speicherplatz des Betriebssystems als auch den Speicherplatz des CSP. Einige CSPs werden in Hardware mit eingeschränkten Arbeitsspeicherressourcen implementiert. Anwendungen müssen alle Schlüssel mit der CryptDestroyKey-Funktion zerstören, wenn sie mit ihnen fertig sind.
Alle Schlüsselhandles, die mit einem bestimmten CSP erstellt oder importiert wurden, müssen zerstört werden, bevor dieses CSP-Handle mit der CryptReleaseContext-Funktion freigegeben wird.
Beispiele
Ein Beispiel, das die CryptDestroyKey-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 |