Compartilhar via


Função CryptDestroyHash (wincrypt.h)

Importante Essa API foi preterida. O software novo e existente deve começar a usar APIs de Próxima Geração de Criptografia. A Microsoft pode remover essa API em versões futuras.
 
A função CryptDestroyHash destrói o objeto hash referenciado pelo parâmetro hHash . Depois que um objeto hash for destruído, ele não poderá mais ser usado.

Para ajudar a garantir a segurança, recomendamos que os objetos hash sejam destruídos depois de serem usados.

Sintaxe

BOOL CryptDestroyHash(
  [in] HCRYPTHASH hHash
);

Parâmetros

[in] hHash

O identificador do objeto hash a ser destruído.

Valor retornado

Se a função for bem-sucedida, o valor retornado será diferente de zero.

Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.

Os códigos de erro precedidos por "NTE" são gerados pelo CSP ( provedor de serviços criptográficos ) específico que você está usando. Alguns códigos de erro possíveis seguem.

Código de retorno Descrição
ERROR_BUSY
O objeto hash especificado por hHash está sendo usado no momento e não pode ser destruído.
ERROR_INVALID_HANDLE
O parâmetro hHash especifica um identificador que não é válido.
ERROR_INVALID_PARAMETER
O parâmetro hHash contém um valor que não é válido.
NTE_BAD_ALGID
O identificador hHash especifica um algoritmo ao qual esse CSP não dá suporte.
NTE_BAD_HASH
O objeto hash especificado pelo parâmetro hHash não é válido.
NTE_BAD_UID
O contexto CSP especificado quando o objeto hash foi criado não pode ser encontrado.

Comentários

Quando um objeto hash é destruído, muitos CSPs substituem a memória no CSP em que o objeto hash foi mantido. Em seguida, a memória CSP é liberada.

Deve haver uma correspondência um-para-um entre chamadas para CryptCreateHash e CryptDestroyHash.

Todos os objetos de hash que foram criados usando um CSP específico devem ser destruídos antes que esse identificador CSP seja liberado com a função CryptReleaseContext .

Exemplos

Para obter um exemplo que usa a função CryptDestroyHash , consulte Exemplo de programa C: criando e hash de uma chave de sessão.

Requisitos

   
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho wincrypt.h
Biblioteca Advapi32.lib
DLL Advapi32.dll

Confira também

Cryptcreatehash

Crypthashdata

Cryptsignhash

Funções hash e assinatura digital