CryptReleaseContext

【勇芳软件工作室】汉化HomePreviousNext

[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函数之前,所有这些对象都应该被破坏(使用CryptDestroyKeyCryptDestroyHash函数)。

返回值

如果函数成功,返回值不为零。

如果函数失败,返回值为零。要检索扩展错误信息,请使用GetLastError功能。

下表列出了GetLastError函数最常返回的错误代码。由“NTE”开头的错误代码由您使用的特定CSP生成。

错误描述
ERROR_BUSY【pbBuffer】指定的CSP上下文正在被另一个进程使用。
ERROR_INVALID_HANDLE其中一个参数指定一个无效句柄。
ERROR_INVALID_PARAMETER其中一个参数包含无效值。这通常是一个非法的指针。
NTE_BAD_FLAGS【dwFlags中】参数不为零。
NTE_BAD_UID【pbBuffer】参数不包含有效的上下文句柄。

请参阅CryptAcquireContext功能中的“示例”部分。

也可以看看

CryptAcquireContextCryptDestroyKeyCryptDestroyHash