[New - Windows NT]
[New - Windows 95, OEM Service Release 2]
CryptDestroyKey函数释放由【的hKeyru-Latn】参数引用的句柄。一旦钥匙把手被释放,它将变得无效,不能再次使用。
如果句柄是指通过CryptImportKey导入到CSP的会话密钥或公钥,则此函数会销毁该密钥,并释放该密钥所占用的内存。许多CSP将在释放钥匙之前擦洗记忆。
另一方面,如果句柄是指公钥/私钥对(从CryptGetUserKey获得),那么这个函数不会破坏基础密钥对。只有手柄被摧毁。
BOOL CRYPTFUNC CryptDestroyKey(
HCRYPTKEY【的hKeyru-Latn】 | |
); |
参数
【的hKeyru-Latn】
[in]要被销毁的钥匙的句柄。
备注
键占用操作系统内存空间和CSP内存空间。一些CSP将以非常有限的内存资源在硬件中实现。因此,使用CryptDestroyKey函数完成之后,应用程序将销毁所有密钥很重要。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要检索扩展错误信息,请使用GetLastError功能。
下表列出了GetLastError功能最常返回的错误代码。由“NTE”开头的错误代码由您使用的特定CSP生成。
错误 | 描述 |
ERROR_INVALID_HANDLE | 其中一个参数指定一个无效句柄。 |
ERROR_INVALID_PARAMETER | 其中一个参数包含无效值。这通常是一个非法的指针。 |
NTE_BAD_KEY | 【的hKeyru-Latn】参数不包含键的有效句柄。 |
NTE_BAD_UID | 创建密钥时指定的CSP上下文无法找到。 |
例
请参阅CryptGenKey功能中的“示例”部分。
也可以看看
CryptDeriveKey, CryptGenKey, CryptGetUserKey, CryptImportKey