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 |
---|---|
|
A função foi concluída com êxito. |
|
O arquivo não existe. |
|
Não foi possível abrir o arquivo para obter informações de versão. |
|
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 |