Função CryptCATAdminCalcHashFromFileHandle2 (mscat.h)
A função CryptCATAdminCalcHashFromFileHandle2 calcula o hash de um arquivo usando o algoritmo especificado.
Essa função 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
BOOL CryptCATAdminCalcHashFromFileHandle2(
[in] HCATADMIN hCatAdmin,
[in] HANDLE hFile,
[in, out] DWORD *pcbHash,
BYTE *pbHash,
DWORD dwFlags
);
Parâmetros
[in] hCatAdmin
Identificador de um contexto de administrador de catálogo aberto. Para obter mais informações, consulte CryptCATAdminAcquireContext2.
[in] hFile
Um identificador para o arquivo cujo hash está sendo calculado. Esse parâmetro não pode ser NULL e deve ser um identificador de arquivo válido.
[in, out] pcbHash
Ponteiro para uma variável DWORD que contém o número de bytes no parâmetro pbHash . Após a entrada, defina pcbHash como o número de bytes alocados para pbHash. Após o retorno, pcbHash contém o número de bytes retornados em pbHash. Se pbHash for definido como NULL, pcbHash conterá o número de bytes a serem alocados para pbHash.
pbHash
Ponteiro para um buffer BYTE que recebe o hash. Se você definir esse parâmetro como NULL, pcbHash conterá o número de bytes a serem alocados para pbHash e uma chamada subsequente poderá ser feita para recuperar o hash.
dwFlags
Reservado. Esse valor precisa ser zero.
Valor retornado
Se a função for bem-sucedida, o valor retornado será diferente de zero (TRUE).
Se a função falhar, o valor retornado será zero (FALSE). Para obter informações de erro estendidas, chame GetLastError.
A tabela a seguir lista os códigos de erro mais comumente retornados pela função GetLastError .
Código de retorno | Descrição |
---|---|
|
O parâmetro hFile não deve ser NULL.
O parâmetro hFile deve ser um identificador de arquivo válido. O parâmetro pcbHash não deve ser NULL. O parâmetro dwFlags deve ser zero (0). |
|
O buffer apontado pelo parâmetro pbHash não era NULL , mas não era grande o suficiente para ser gravado. O tamanho correto do buffer necessário está contido no valor apontado pelo parâmetro pcbHash . |
|
O algoritmo de hash especificado pelo parâmetro pwszHashAlgorithm não pode ser encontrado. |
Comentários
A quantidade de tempo que essa função leva para ser executada depende do comprimento do arquivo que está sendo hash, do algoritmo que está sendo usado e do local do arquivo. Por exemplo, leva vários segundos para calcular o hash de um arquivo local muito grande (algumas centenas de megabytes).
Requisitos
Cliente mínimo com suporte | Windows 8 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2012 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | mscat.h |
Biblioteca | Wintrust.lib |
DLL | Wintrust.dll |