CryptContextAddRef 函数 (wincrypt.h)
重要 此 API 已弃用。 新的和现有的软件应开始使用 加密下一代 API。 Microsoft 可能会在将来的版本中删除此 API。
语法
BOOL CryptContextAddRef(
[in] HCRYPTPROV hProv,
[in] DWORD *pdwReserved,
[in] DWORD dwFlags
);
参数
[in] hProv
引用计数递增的 HCRYPTPROV 句柄。 此句柄必须已使用 CryptAcquireContext 创建。
[in] pdwReserved
保留以供将来使用,必须为 NULL。
[in] dwFlags
保留以供将来使用,必须为零。
返回值
如果函数成功,则返回值为非零 (TRUE) 。
如果函数失败,则返回值为零 (FALSE) 。 有关扩展的错误信息,请调用 GetLastError。 下面是一个可能的错误代码。
返回代码 | 说明 |
---|---|
|
其中一个参数包含无效的值。 这通常是无效的指针。 |
注解
此函数增加 HCRYPTPROV 句柄上的引用计数,因此需要多次调用 CryptReleaseContext 才能实际释放句柄。
示例
以下示例递增获取的 CSP 句柄上的 引用计数 。
//--------------------------------------------------------------------
// hCryptProv is a HCRYPTPROV variable that was previously acquired
// by using CryptAcquireContext or CryptAcquireCertificatePrivateKey.
if(CryptContextAddRef(
hCryptProv,
NULL,
0))
{
printf("CryptContextAddRef succeeded. \n");
}
else
{
printf("Error during CryptContextAddRef!\n");
exit(1);
}
//--------------------------------------------------------------------
// The reference count on hCryptProv is now greater than one. The
// first call to CryptReleaseContext will not release the provider
// handle. A second call to CryptReleaseContext would be needed to
// release the context.
有关使用此函数的另一个示例,请参阅 示例 C 程序:使用 CryptAcquireContext。
要求
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | wincrypt.h |
Library | Advapi32.lib |
DLL | Advapi32.dll |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈