Compartilhar via


Função WTHelperGetFileHash

[A função WTHelperGetFileHash está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Ele pode estar alterado ou indisponível em versões subsequentes.]

A função WTHelperGetFileHash verifica a assinatura de um arquivo assinado e obtém o valor de hash e o identificador de algoritmo para o arquivo.

Observação

Essa função não é declarada em um arquivo de cabeçalho publicado. Para usar essa função, declare-a no formato exato mostrado. Essa função também não tem nenhuma biblioteca de importação associada. Você deve usar as funções LoadLibrary e GetProcAddress para vincular dinamicamente a Wintrust.dll.

 

Sintaxe

LONG WINAPI WTHelperGetFileHash(
  _In_        LPCWSTR pwszFilename,
  _In_        DWORD   dwFlags,
  _Inout_opt_ PVOID   pvReserved,
  _Out_opt_   BYTE    *pbFileHash,
  _Inout_opt_ DWORD   *pcbFileHash,
  _Out_opt_   ALG_ID  *pHashAlgid
);

Parâmetros

pwszFilename [in]

Um ponteiro para uma cadeia de caracteres Unicode terminada em nulo que contém o caminho e o nome do arquivo para obter o hash.

dwFlags [in]

Esse parâmetro não é usado e deve ser zero.

pvReserved [in, out, optional]

Esse parâmetro não é usado e deve ser NULL.

pbFileHash [out, opcional]

Um ponteiro para um buffer para receber o valor de hash do arquivo. O parâmetro pcbFileHash contém o tamanho desse buffer.

pcbFileHash [in, out, opcional]

Um ponteiro para uma variável DWORD que, na entrada, contém o tamanho, em bytes, do buffer pbFileHash e, na saída, recebe o tamanho, em bytes, do valor de hash.

Para obter o tamanho necessário do valor de hash, passe NULL para o parâmetro pbFileHash . Essa função colocará o tamanho necessário, em bytes, do valor de hash nesse local.

Se o parâmetro pbFileHash não for NULL e o tamanho não for grande o suficiente para receber o valor de hash, essa função colocará o tamanho necessário, em bytes, nesse local e retornará ERROR_MORE_DATA.

pHashAlgid [out, opcional]

Um ponteiro para uma variável ALG_ID para receber o identificador do algoritmo usado para criar o valor de hash. Esse parâmetro poderá ser NULL se essas informações não forem necessárias.

Valor retornado

Retorna um código status que indica o êxito ou a falha da função.

Os códigos de retorno possíveis incluem, mas não se limitam a, o seguinte.

Código de retorno Descrição
ERROR_SUCCESS
O arquivo é assinado e a assinatura foi verificada.
ERROR_MORE_DATA
O parâmetro pbFileHash não é NULL e o tamanho especificado pelo parâmetro pcbFileHash não é grande o suficiente para receber o hash.
ERROR_NOT_ENOUGH_MEMORY
Ocorreu uma falha de alocação de memória.
TRUST_E_BAD_DIGEST
A assinatura do arquivo não foi verificada.
TRUST_E_NOSIGNATURE
O arquivo não foi assinado ou tinha uma assinatura que não é válida.

 

Requisitos

Requisito Valor
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]
DLL
Wintrust.dll