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
나중에 사용하도록 예약되며 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 |