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 de arquivo desnecessária. 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 de retorno

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
Erro inesperado.
 
 

Observações

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 de 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.

Nota

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. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows Installer 5.0 no Windows Server 2012, Windows 8, Windows Server 2008 R2 ou Windows 7. Windows Installer 4.0 ou Windows Installer 4.5 no Windows Server 2008 ou Windows Vista. Windows Installer no Windows Server 2003 ou Windows XP. Consulte os Requisitos de Run-Time do Windows Installer para obter informações sobre o service pack mínimo do Windows exigido por uma versão do Windows Installer.
da Plataforma de Destino Windows
cabeçalho msi.h
biblioteca Msi.lib
de DLL Msi.dll

Consulte também

de controle de versão de arquivo padrão

MSIFILEHASHINFO

da tabela MsiFileHash