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 |
---|---|
|
Si se devuelve este valor, significa que la función se completó correctamente. |
|
El archivo no existe. |
|
No se pudo abrir el archivo para obtener información de la versión. |
|
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 |