Partager via


Fonction CryptReleaseContext (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 CryptReleaseContext libère le handle d’un fournisseur de services de chiffrement (CSP) et d’un conteneur de clés. À chaque appel à cette fonction, le nombre de références sur le csp est réduit d’un. Lorsque le nombre de références atteint zéro, le contexte est entièrement libéré et il ne peut plus être utilisé par aucune fonction dans l’application.

Une application appelle cette fonction après avoir terminé l’utilisation du fournisseur de solutions Cloud. Une fois cette fonction appelée, le handle CSP libéré n’est plus valide. Cette fonction ne détruit pas les conteneurs de clés ou les paires de clés.

Syntaxe

BOOL CryptReleaseContext(
  [in] HCRYPTPROV hProv,
  [in] DWORD      dwFlags
);

Paramètres

[in] hProv

Handle d’un fournisseur de services de chiffrement (CSP) créé par un appel à CryptAcquireContext.

[in] dwFlags

Réservé pour une utilisation ultérieure et doit être égal à zéro. Si dwFlags n’est pas défini sur zéro, cette fonction retourne FALSE , mais le csp est libéré.

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. Certains codes d’erreur possibles sont répertoriés dans le tableau suivant.

Code de retour Description
ERROR_BUSY
Le contexte CSP spécifié par hProv est actuellement utilisé par un autre processus.
ERROR_INVALID_HANDLE
L’un des paramètres spécifie un handle qui n’est pas valide.
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.
NTE_BAD_FLAGS
Le paramètre dwFlags est différent de zéro.
NTE_BAD_UID
Le paramètre hProv ne contient pas de handle de contexte valide.

Remarques

Une fois cette fonction appelée, la session CSP est terminée et toutes les clés de session et objets de hachage existants créés à l’aide du handle hProv ne sont plus valides. Dans la pratique, tous ces objets doivent être détruits avec des appels à CryptDestroyKey et CryptDestroyHash avant l’appel de CryptReleaseContext .

Exemples

Pour obtenir un exemple qui utilise cette fonction, consultez Exemple de programme C : création et hachage d’une clé de session.

Configuration requise

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

Voir aussi

CryptAcquireContext

CryptDestroyHash

CryptDestroyKey

Fonctions du fournisseur de services