CryptDestroyHash 函数 (wincrypt.h)
重要 此 API 已弃用。 新的和现有的软件应开始使用 加密下一代 API。 Microsoft 可能会在将来的版本中删除此 API。
为了帮助确保安全性,我们建议在使用哈希对象后销毁它们。
语法
BOOL CryptDestroyHash(
[in] HCRYPTHASH hHash
);
参数
[in] hHash
要销毁的哈希对象的句柄。
返回值
如果该函数成功,则返回值为非零值。
如果函数失败,则返回值为零。 有关扩展的错误信息,请调用 GetLastError。
“NTE”开头的错误代码由你正在使用的特定 加密服务提供程序 (CSP) 生成。 一些可能的错误代码随之而来。
返回代码 | 说明 |
---|---|
|
hHash 指定的哈希对象当前正在使用,无法销毁。 |
|
hHash 参数指定无效的句柄。 |
|
hHash 参数包含无效的值。 |
|
hHash 句柄指定此 CSP 不支持的算法。 |
|
hHash 参数指定的哈希对象无效。 |
|
找不到创建哈希对象时指定的 CSP 上下文。 |
注解
销毁哈希对象时,许多 CSP 会覆盖保存哈希对象的 CSP 中的内存。 然后释放 CSP 内存。
调用 CryptCreateHash 和 CryptDestroyHash 之间应该有一对一的对应关系。
必须先销毁使用特定 CSP 创建的所有哈希对象,然后才能使用 CryptReleaseContext 函数释放该 CSP 句柄。
示例
有关使用 CryptDestroyHash 函数的示例,请参阅 示例 C 程序:创建和哈希处理会话密钥。
要求
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | wincrypt.h |
Library | Advapi32.lib |
DLL | Advapi32.dll |