Función CryptDestroyKey (wincrypt.h)
Si el identificador hace referencia a una clave de sesión o a una clave pública que se ha importado al proveedor de servicios criptográficos (CSP) a través de CryptImportKey, esta función destruye la clave y libera la memoria que usó la clave. Muchos CSP sobrescriben la memoria en la que se mantuvo la clave antes de liberarla. Sin embargo, esta función no destruye el par de claves pública o privada subyacente. Solo se destruye el identificador.
Sintaxis
BOOL CryptDestroyKey(
[in] HCRYPTKEY hKey
);
Parámetros
[in] hKey
Identificador de la clave que se va a destruir.
Valor devuelto
Si la función se realiza correctamente, el valor devuelto es distinto de cero.
Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.
Los códigos de error precedidos por "NTE" se generan mediante el CSP en particular que se usa. Algunos códigos de error posibles se enumeran en la tabla siguiente.
Código devuelto | Descripción |
---|---|
|
El objeto de clave especificado por hKey se está usando actualmente y no se puede destruir. |
|
El parámetro hKey especifica un identificador que no es válido. |
|
El parámetro hKey contiene un valor que no es válido. |
|
El parámetro hKey no contiene un identificador válido para una clave. |
|
No se encuentra el contexto de CSP que se especificó cuando se creó la clave. |
Comentarios
Las claves ocupan el espacio de memoria del sistema operativo y el espacio de memoria del CSP. Algunos CSP se implementan en hardware con recursos de memoria limitados. Las aplicaciones deben destruir todas las claves con la función CryptDestroyKey cuando terminen con ellas.
Todos los identificadores de clave que se han creado o importado mediante un CSP específico deben destruirse antes de que ese identificador de CSP se libere con la función CryptReleaseContext .
Ejemplos
Para obtener un ejemplo que usa la función CryptDestroyKey , vea Ejemplo del programa C: Crear y aplicar hash a una clave de sesión.
Requisitos
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | wincrypt.h |
Library | Advapi32.lib |
Archivo DLL | Advapi32.dll |