Partager via


CryptContextAddRef, fonction (wincrypt.h)

important cette API est déconseillée. Les logiciels nouveaux et existants doivent commencer à utiliser API de nouvelle génération de chiffrement. Microsoft peut supprimer cette API dans les versions ultérieures.
 
La fonction CryptContextAddRef en ajoute une au nombre de références d’un handle HCRYPTPROVfournisseur de services de chiffrement (CSP). 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 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
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 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

Voir aussi

CryptAcquireContext

CryptReleaseContext

fonctions du fournisseur de services