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 [仅限桌面应用] |
目标平台 | 窗户 |
标头 | wincrypt.h |
库 | Advapi32.lib |
DLL | Advapi32.dll |