Condividi tramite


Funzione CryptReleaseContext (wincrypt.h)

Importante Questa API è deprecata. Il software nuovo e esistente deve iniziare a usare le API di nuova generazione di crittografia. Microsoft può rimuovere questa API nelle versioni future.
 
La funzione CryptReleaseContext rilascia l'handle di un provider di servizi di crittografia e di un contenitore di chiavi. A ogni chiamata a questa funzione, il conteggio dei riferimenti sul CSP viene ridotto di uno. Quando il conteggio dei riferimenti raggiunge zero, il contesto viene completamente rilasciato e non può più essere usato da alcuna funzione nell'applicazione.

Un'applicazione chiama questa funzione dopo aver completato l'uso del CSP. Dopo aver chiamato questa funzione, l'handle CSP rilasciato non è più valido. Questa funzione non elimina i contenitori delle chiavi o le coppie chiave.

Sintassi

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

Parametri

[in] hProv

Handle di un provider di servizi di crittografia creato da una chiamata a CryptAcquireContext.

[in] dwFlags

Riservato per l'uso futuro e deve essere zero. Se dwFlags non è impostato su zero, questa funzione restituisce FALSE ma il CSP viene rilasciato.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è diverso da zero (TRUE).

Se la funzione ha esito negativo, il valore restituito è zero (FALSE). Per informazioni sull'errore estese, chiamare GetLastError. Alcuni codici di errore possibili sono elencati nella tabella seguente.

Codice restituito Descrizione
ERROR_BUSY
Il contesto CSP specificato da hProv è attualmente usato da un altro processo.
ERROR_INVALID_HANDLE
Uno dei parametri specifica un handle non valido.
ERROR_INVALID_PARAMETER
Uno dei parametri contiene un valore non valido. Questo è più spesso un puntatore che non è valido.
NTE_BAD_FLAGS
Il parametro dwFlags è diverso da zero.
NTE_BAD_UID
Il parametro hProv non contiene un handle di contesto valido.

Commenti

Dopo aver chiamato questa funzione, la sessione CSP viene completata e tutte le chiavi di sessione e gli oggetti hash esistenti creati usando l'handle hProv non sono più validi. In pratica, tutti questi oggetti devono essere eliminati con chiamate a CryptDestroyKey e CryptDestroyHash prima che venga chiamato CryptReleaseContext .

Esempio

Per un esempio che usa questa funzione, vedere Esempio di programma C: Creazione e hashing di una chiave di sessione.

Requisiti

   
Client minimo supportato Windows XP [app desktop | App UWP]
Server minimo supportato Windows Server 2003 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione wincrypt.h
Libreria Advapi32.lib
DLL Advapi32.dll

Vedi anche

Cryptacquirecontext

CryptDestroyHash

CryptDestroyKey

Funzioni del provider di servizi