CryptContextAddRef 함수(wincrypt.h)
중요 이 API는 더 이상 사용되지 않습니다. 신규 및 기존 소프트웨어는 Cryptography Next Generation API 사용을 시작해야 합니다. Microsoft는 향후 릴리스에서 이 API를 제거할 수 있습니다.
구문
BOOL CryptContextAddRef(
[in] HCRYPTPROV hProv,
[in] DWORD *pdwReserved,
[in] DWORD dwFlags
);
매개 변수
[in] hProv
참조 수가 증가되는 HCRYPTPROV 핸들입니다. 이 핸들은 CryptAcquireContext를 사용하여 이미 만들어졌어야 합니다.
[in] pdwReserved
나중에 사용하도록 예약되며 NULL이어야 합니다.
[in] dwFlags
나중에 사용하도록 예약되며 0이어야 합니다.
반환 값
함수가 성공하면 반환 값은 0이 아닌 값(TRUE)입니다.
함수가 실패하면 반환 값은 0(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 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기