Share via


Función MsiGetFileHashA (msi.h)

La función MsiGetFileHash toma la ruta de acceso a un archivo y devuelve un hash de 128 bits de ese archivo. Las herramientas de creación pueden usar MsiGetFileHash para obtener el hash de archivo necesario para rellenar la tabla MsiFileHash.

Windows Installer usa el hash de archivos como medio para detectar y eliminar la copia innecesaria de archivos. Un hash de archivo almacenado en la tabla MsiFileHash se puede comparar con un hash de un archivo existente en el equipo del usuario.

Sintaxis

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

Parámetros

[in] szFilePath

Ruta de acceso al archivo que se va a aplicar un algoritmo hash.

[in] dwOptions

El valor de esta columna debe ser 0. Este parámetro se reserva para uso futuro.

[out] pHash

Puntero a la información hash de archivo devuelta.

Valor devuelto

Valor Significado
ERROR_SUCCESS
Si se devuelve este valor, significa que la función se completó correctamente.
ERROR_FILE_NOT_FOUND
El archivo no existe.
ERROR_ACCESS_DENIED
No se pudo abrir el archivo para obtener información de la versión.
E_FAIL
Error inesperado.
 
 

Comentarios

El hash de archivo de 128 bits completo se devuelve como cuatro campos de 32 bits. La numeración de los cuatro campos se basa en cero. Los valores devueltos por MsiGetFileHash corresponden a los cuatro campos de la estructura MSIFILEHASHINFO . El primer campo corresponde a la columna HashPart1 de la tabla MsiFileHash, el segundo campo corresponde a la columna HashPart2, el tercer campo corresponde a la columna HashPart3 y el cuarto campo corresponde a la columna HashPart4.

La información hash especificada en la tabla MsiFileHash debe obtenerse llamando a MsiGetFileHash o al método FileHash . No intente usar otros métodos para generar el hash de archivo.

Nota

El encabezado msi.h define MsiGetFileHash como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Installer 5.0 en Windows Server 2012, Windows 8, Windows Server 2008 R2 o Windows 7. Windows Installer 4.0 o Windows Installer 4.5 en Windows Server 2008 o Windows Vista. Windows Installer en Windows Server 2003 o Windows XP. Consulte Windows Installer para obtener información sobre el Service Pack mínimo de Windows que requiere una versión de Windows Installer.
Plataforma de destino Windows
Encabezado msi.h
Library Msi.lib
Archivo DLL Msi.dll

Consulte también

Control de versiones de archivo predeterminado

MSIFILEHASHINFO

Tabla MsiFileHash