Export (0) Print
Expand All

CryptContextAddRef (Windows CE 5.0)

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.


Show:
© 2014 Microsoft