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 |
程式庫 | Advapi32.lib |
Dll | Advapi32.dll |
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應