Функция MsiGetFileHashA (msi.h)
Функция MsiGetFileHash принимает путь к файлу и возвращает 128-разрядный хэш этого файла. Средства разработки могут использовать MsiGetFileHash для получения хэша файла, необходимого для заполнения таблицы MsiFileHash.
Установщик Windows использует хэширование файлов в качестве средства обнаружения и устранения ненужных операций копирования файлов. Хэш файла, хранящийся в таблице MsiFileHash, можно сравнить с хэшем существующего файла на компьютере пользователя.
Синтаксис
UINT MsiGetFileHashA(
[in] LPCSTR szFilePath,
[in] DWORD dwOptions,
[out] PMSIFILEHASHINFO pHash
);
Параметры
[in] szFilePath
Путь к хэш-файлу.
[in] dwOptions
Значение в этом столбце должно быть равно 0. Этот параметр зарезервирован для использования в будущем.
[out] pHash
Указатель на возвращенные сведения о хэш-файле.
Возвращаемое значение
Значение | Значение |
---|---|
|
Функция успешно завершена. |
|
Файл не существует. |
|
Не удалось открыть файл для получения сведений о версии. |
|
Произошла непредвиденная ошибка. |
Комментарии
Весь 128-разрядный хэш файла возвращается в виде четырех 32-разрядных полей. Нумерирование четырех полей отсчитывается от нуля. Значения, возвращаемые MsiGetFileHash , соответствуют четырем полям структуры MSIFILEHASHINFO . Первое поле соответствует столбцу HashPart1 таблицы MsiFileHash, второе — столбцу HashPart2, третье — столбцу HashPart3, а четвертое — столбцу HashPart4.
Хэш-данные, введенные в таблицу MsiFileHash, должны быть получены путем вызова метода MsiGetFileHash или FileHash . Не пытайтесь использовать другие методы для создания хэша файла.
Примечание
Заголовок msi.h определяет MsiGetFileHash как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Установщик Windows 5.0 в Windows Server 2012, Windows 8, Windows Server 2008 R2 или Windows 7. Установщик Windows 4.0 или Установщик Windows 4.5 в Windows Server 2008 или Windows Vista. Установщик Windows в Windows Server 2003 или Windows XP. Сведения о минимальном пакете обновления Windows, необходимом для версии установщика Windows, см. в статье Требования к установщику Windows Run-Time. |
Целевая платформа | Windows |
Header | msi.h |
Библиотека | Msi.lib |
DLL | Msi.dll |