Compartilhar via


Função MsiGetFileHashA (msi.h)

A função MsiGetFileHash usa o caminho para um arquivo e retorna um hash de 128 bits desse arquivo. As ferramentas de criação podem usar MsiGetFileHash para obter o hash de arquivo necessário para preencher a tabela MsiFileHash.

O Windows Installer usa o hash de arquivo como um meio de detectar e eliminar a cópia desnecessária de arquivos. Um hash de arquivo armazenado na tabela MsiFileHash pode ser comparado a um hash de um arquivo existente no computador do usuário.

Sintaxe

UINT MsiGetFileHashA(
  [in]  LPCSTR           szFilePath,
  [in]  DWORD            dwOptions,
  [out] PMSIFILEHASHINFO pHash
);

Parâmetros

[in] szFilePath

Caminho para o arquivo que deve ser hash.

[in] dwOptions

O valor nesta coluna deve ser 0. Esse parâmetro é reservado para uso futuro.

[out] pHash

Ponteiro para as informações de hash de arquivo retornadas.

Valor retornado

Valor Significado
ERROR_SUCCESS
A função foi concluída com êxito.
ERROR_FILE_NOT_FOUND
O arquivo não existe.
ERROR_ACCESS_DENIED
Não foi possível abrir o arquivo para obter informações de versão.
E_FAIL
Ocorreu um erro inesperado.
 
 

Comentários

Todo o hash de arquivo de 128 bits é retornado como quatro campos de 32 bits. A numeração dos quatro campos é baseada em zero. Os valores retornados por MsiGetFileHash correspondem aos quatro campos da estrutura MSIFILEHASHINFO . O primeiro campo corresponde à coluna HashPart1 da tabela MsiFileHash, o segundo campo corresponde à coluna HashPart2, o terceiro campo corresponde à coluna HashPart3 e o quarto campo corresponde à coluna HashPart4.

As informações de hash inseridas na tabela MsiFileHash devem ser obtidas chamando MsiGetFileHash ou o método FileHash . Não tente usar outros métodos para gerar o hash do arquivo.

Observação

O cabeçalho msi.h define MsiGetFileHash como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Installer 5.0 no Windows Server 2012, no Windows 8, no Windows Server 2008 R2 ou no Windows 7. Windows Installer 4.0 ou Windows Installer 4.5 no Windows Server 2008 ou no Windows Vista. Windows Installer no Windows Server 2003 ou no Windows XP. Confira os Requisitos de tempo de execução do Windows Installer para obter informações sobre o service pack mínimo do Windows exigido por uma versão do Windows Installer.
Plataforma de Destino Windows
Cabeçalho msi.h
Biblioteca Msi.lib
DLL Msi.dll

Confira também

Controle de versão de arquivo padrão

MSIFILEHASHINFO

Tabela MsiFileHash