CryptContextAddRef (Windows CE 5.0)
This function adds one to the reference count of an HCRYPTPROV handle.
BOOL WINAPI CryptContextAddRef( HCRYPTPROV hProv,DWORD* pdwReserved, DWORD dwFlags);
Parameters
- hProv
[in] HCRYPTPROV handle to a cryptographic service provider (CSP) created by a call to the CryptAcquireContext function for which the reference count is being incremented. - pdwReserved
[in] Reserved for future use and must be set to NULL. - dwFlags
[in] Reserved for future use and must be set to zero.
Return Values
TRUE indicates success. FALSE indicates failure. To get extended error information, call the GetLastError function.
A common value for GetLastError is ERROR_INVALID_PARAMETER. It means that one of the parameters contain an invalid value, which is often an illegal pointer.
Remarks
This function should be used if the CSP handle is included as a member of any structure passed to another function. The CryptReleaseContext function should be called when the CSP handle is no longer needed.
This function increases the reference count of a HCRYPTPROV handle; therefore, multiple calls to the CryptReleaseContext function are required to actually free the handle.
Example Code
HCRYPTPROV hProv = 0;
// Acquire a context handle using CryptAcquireContext
// For sample code, see CryptAcquireContext.
...
if (!CryptContextAddRef(&hProv, NULL, 0)) {
printf("Error %x during CryptContextAddRef!\n", GetLastError);
return;
}
...
// The first call to CryptReleaseContext will not free the provider
// handle because the reference count has been bumped up.
if (!CryptReleaseContext(hProv, 0)) {
printf("Error %x during CryptReleaseContext!\n", GetLastError);
return;
}
// Free the provider handle.
if (!CryptReleaseContext(hProv, 0)) {
printf("Error %x during CryptReleaseContext!\n", GetLastError);
return;
}
Requirements
OS Versions: Windows CE 2.10 and later.
Header: Wincrypt.h.
Link Library: Coredll.lib.
See Also
CryptAcquireContext | CryptReleaseContext | HCRYPTPROV
Send Feedback on this topic to the authors