cryptReleaseContext 函数 (wincrypt.h)
重要 此 API 已弃用。 新的和现有的软件应开始使用 加密下一代 API。 Microsoft 可能会在将来的版本中删除此 API。
应用程序在完成 CSP 的使用后调用此函数。 调用此函数后,释放的 CSP 句柄不再有效。 此函数不会销毁 密钥容器 或 密钥对。
语法
BOOL CryptReleaseContext(
[in] HCRYPTPROV hProv,
[in] DWORD dwFlags
);
参数
[in] hProv
加密服务提供程序 (CSP) 调用 CryptAcquireContext 创建的句柄。
[in] dwFlags
保留以供将来使用,必须为零。 如果未将 dwFlags 设置为零,则此函数返回 FALSE ,但会释放 CSP。
返回值
如果函数成功,则返回值为非零 (TRUE) 。
如果函数失败,则返回值为零 (FALSE) 。 有关扩展的错误信息,请调用 GetLastError。 下表列出了一些可能的错误代码。
返回代码 | 说明 |
---|---|
|
hProv 指定的 CSP 上下文当前正由另一个进程使用。 |
|
其中一个参数指定无效的句柄。 |
|
其中一个参数包含无效的值。 这通常是无效的指针。 |
|
dwFlags 参数为非零值。 |
|
hProv 参数不包含有效的上下文句柄。 |
备注
调用此函数后,CSP 会话已完成,使用 hProv 句柄创建的所有现有会话密钥和哈希对象将不再有效。 实际上,在调用 CryptReleaseContext 之前,应通过调用 CryptDestroyKey 和 CryptDestroyHash 来销毁所有这些对象。
示例
有关使用此函数的示例,请参阅 示例 C 程序:创建和哈希处理会话密钥。
要求
最低受支持的客户端 | Windows XP [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2003 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | wincrypt.h |
Library | Advapi32.lib |
DLL | Advapi32.dll |