Compartir a través de


Función CryptReleaseContext (wincrypt.h)

Importante Esta API está en desuso. El software nuevo y existente debe empezar a usar las API cryptography Next Generation. Microsoft puede quitar esta API en futuras versiones.
 
La función CryptReleaseContext libera el identificador de un proveedor de servicios criptográficos (CSP) y un contenedor de claves. En cada llamada a esta función, el recuento de referencias del CSP se reduce en uno. Cuando el recuento de referencias alcanza cero, el contexto se libera por completo y ya no se puede usar en ninguna función de la aplicación.

Una aplicación llama a esta función después de finalizar el uso del CSP. Después de llamar a esta función, el identificador de CSP liberado ya no es válido. Esta función no destruye los contenedores de claves ni los pares de claves.

Sintaxis

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

Parámetros

[in] hProv

Identificador de un proveedor de servicios criptográficos (CSP) creado por una llamada a CryptAcquireContext.

[in] dwFlags

Reservado para uso futuro y debe ser cero. Si dwFlags no se establece en cero, esta función devuelve FALSE , pero se libera el CSP.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es distinto de cero (TRUE).

Si se produce un error en la función, el valor devuelto es cero (FALSE). Para obtener información de error extendida, llame a GetLastError. Algunos códigos de error posibles se enumeran en la tabla siguiente.

Código devuelto Descripción
ERROR_BUSY
Otro proceso está usando el contexto de CSP especificado por hProv.
ERROR_INVALID_HANDLE
Uno de los parámetros especifica un identificador que no es válido.
ERROR_INVALID_PARAMETER
Uno de los parámetros contiene un valor que no es válido. Suele ser un puntero que no es válido.
NTE_BAD_FLAGS
El parámetro dwFlags es distinto de cero.
NTE_BAD_UID
El parámetro hProv no contiene un identificador de contexto válido.

Comentarios

Después de llamar a esta función, la sesión de CSP ha finalizado y todas las claves de sesión y los objetos hash existentes creados mediante el identificador hProv ya no son válidos. En la práctica, todos estos objetos deben destruirse con llamadas a CryptDestroyKey y CryptDestroyHash antes de llamar a CryptReleaseContext .

Ejemplos

Para obtener un ejemplo que usa esta función, vea Ejemplo de programa C: Creación y hash de una clave de sesión.

Requisitos

   
Cliente mínimo compatible Windows XP [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado wincrypt.h
Library Advapi32.lib
Archivo DLL Advapi32.dll

Consulte también

CryptAcquireContext

CryptDestroyHash

CryptDestroyKey

Funciones del proveedor de servicios