[New - Windows NT]
[New - Windows 95, OEM Service Release 2]
CryptReleaseContext功能用于释放CSP和密钥容器的句柄。
当应用程序使用CSP完成时,应该执行此操作。调用此函数后,【pbBuffer】参数指定的CSP句柄将不再有效。密钥容器和任何密钥对都不会被此函数破坏。
BOOL CRYPTFUNC CryptReleaseContext(
HCRYPTPROV【pbBuffer】, | |
DWORD【dwFlags中】 | |
); |
参数
【pbBuffer】
[in]应用程序的CSP的句柄。这是使用CryptAcquireContext函数获取的应用程序的句柄。
【dwFlags中】
[in]标志值。此参数保留供将来使用,并且应始终为零。
备注
调用此函数后,“会话”结束,使用【pbBuffer】句柄创建的所有现有会话密钥和散列对象都将无效。实际上,在调用CryptReleaseContext函数之前,所有这些对象都应该被破坏(使用CryptDestroyKey和CryptDestroyHash函数)。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要检索扩展错误信息,请使用GetLastError功能。
下表列出了GetLastError函数最常返回的错误代码。由“NTE”开头的错误代码由您使用的特定CSP生成。
错误 | 描述 |
ERROR_BUSY | 由【pbBuffer】指定的CSP上下文正在被另一个进程使用。 |
ERROR_INVALID_HANDLE | 其中一个参数指定一个无效句柄。 |
ERROR_INVALID_PARAMETER | 其中一个参数包含无效值。这通常是一个非法的指针。 |
NTE_BAD_FLAGS | 【dwFlags中】参数不为零。 |
NTE_BAD_UID | 【pbBuffer】参数不包含有效的上下文句柄。 |
例
请参阅CryptAcquireContext功能中的“示例”部分。
也可以看看