CryptContextAddRef (Windows Embedded CE 6.0)
1/6/2010
This function adds one to the reference count of an HCRYPTPROV handle.
Syntax
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 Value
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 <A HREF="wce50lrfcryptacquirecontext.htm">CryptAcquireContext</A>.
...
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
Header | wincrypt.h |
Library | coredll.lib |
Windows Embedded CE | Windows CE 2.10 and later |
See Also
Reference
Cryptography Functions
CryptAcquireContext
CryptReleaseContext
HCRYPTPROV