Compartir a través de


Función CryptDestroyHash (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 CryptDestroyHash destruye el objeto hash al que hace referencia el parámetro hHash . Una vez destruido un objeto hash, ya no se puede usar.

Para ayudar a garantizar la seguridad, se recomienda que los objetos hash se destruyan después de que se hayan usado.

Sintaxis

BOOL CryptDestroyHash(
  [in] HCRYPTHASH hHash
);

Parámetros

[in] hHash

Identificador del objeto hash 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 proveedor de servicios criptográficos (CSP) determinado que está usando. A continuación se indican algunos códigos de error posibles.

Código devuelto Descripción
ERROR_BUSY
El objeto hash especificado por hHash se está usando actualmente y no se puede destruir.
ERROR_INVALID_HANDLE
El parámetro hHash especifica un identificador que no es válido.
ERROR_INVALID_PARAMETER
El parámetro hHash contiene un valor que no es válido.
NTE_BAD_ALGID
El identificador hHash especifica un algoritmo que este CSP no admite.
NTE_BAD_HASH
El objeto hash especificado por el parámetro hHash no es válido.
NTE_BAD_UID
No se encuentra el contexto de CSP que se especificó cuando se creó el objeto hash.

Comentarios

Cuando se destruye un objeto hash, muchos CSP sobrescriben la memoria en el CSP donde se mantiene el objeto hash. A continuación, se libera la memoria de CSP.

Debe haber una correspondencia uno a uno entre las llamadas a CryptCreateHash y CryptDestroyHash.

Todos los objetos hash que se han creado 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 CryptDestroyHash , 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

Consulte también

CryptCreateHash

CryptHashData

CryptSignHash

Funciones hash y firma digital