CryptContextAddRef, fonction (wincrypt.h)
Syntaxe
BOOL CryptContextAddRef(
[in] HCRYPTPROV hProv,
[in] DWORD *pdwReserved,
[in] DWORD dwFlags
);
Paramètres
[in] hProv
handle HCRYPTPROV pour lequel le nombre de références est incrémenté. Ce handle doit déjà avoir été créé à l’aide de CryptAcquireContext.
[in] pdwReserved
Réservé pour une utilisation ultérieure et doit être NULL .
[in] dwFlags
Réservé pour une utilisation ultérieure et doit être égal à zéro.
Valeur de retour
Si la fonction réussit, la valeur de retour est différente de zéro (TRUE).
Si la fonction échoue, la valeur de retour est zéro (FALSE). Pour obtenir des informations d’erreur étendues, appelez GetLastError. Un code d’erreur possible est le suivant.
Retourner le code | Description |
---|---|
|
L’un des paramètres contient une valeur qui n’est pas valide. Il s’agit le plus souvent d’un pointeur qui n’est pas valide. |
Remarques
Cette fonction augmente le nombre de références sur un handle HCRYPTPROV afin que plusieurs appels à CryptReleaseContext soient nécessaires pour libérer réellement le handle.
Exemples
L’exemple suivant incrémente le nombre de références sur un handle CSP acquis.
//--------------------------------------------------------------------
// 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.
Pour obtenir un autre exemple qui utilise cette fonction, consultez Exemple de programme C : utilisation de CryptAcquireContext.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows XP [applications de bureau uniquement] |
serveur minimum pris en charge | Windows Server 2003 [applications de bureau uniquement] |
plateforme cible | Windows |
d’en-tête | wincrypt.h |
bibliothèque | Advapi32.lib |
DLL | Advapi32.dll |