Fonction CryptContextAddRef (wincrypt.h)

Important Cette API est déconseillée. Les logiciels nouveaux et existants doivent commencer à utiliser les API de nouvelle génération de chiffrement. Microsoft peut supprimer cette API dans les versions ultérieures.
 
La fonction CryptContextAddRef en ajoute un au nombre de références d’un handle fournisseur de services de chiffrement (CSP) HCRYPTPROV. Cette fonction doit être utilisée si le handle CSP est inclus en tant que membre d’une structure passée à une autre fonction. La fonction CryptReleaseContext doit être appelée lorsque le handle CSP n’est plus nécessaire.

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 avoir déjà été créé à l’aide de CryptAcquireContext.

[in] pdwReserved

Réservé pour une utilisation ultérieure et doit avoir la valeur NULL.

[in] dwFlags

Réservé à une utilisation future et doit être égal à zéro.

Valeur retournée

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.

Code de retour Description
ERROR_INVALID_PARAMETER
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 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 un autre exemple qui utilise cette fonction, consultez Exemple de programme C : utilisation de CryptAcquireContext.

Configuration requise

   
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête wincrypt.h
Bibliothèque Advapi32.lib
DLL Advapi32.dll

Voir aussi

CryptAcquireContext

CryptReleaseContext

Fonctions du fournisseur de services