CryptContextAddRef (Windows CE 5.0)

Send Feedback

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

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.