Функция MapFileAndCheckSumA (imagehlp.h)
Вычисляет контрольную сумму указанного файла.
Синтаксис
DWORD IMAGEAPI MapFileAndCheckSumA(
[in] PCSTR Filename,
[out] PDWORD HeaderSum,
[out] PDWORD CheckSum
);
Параметры
[in] Filename
Имя файла, для которого вычисляется контрольная сумма.
[out] HeaderSum
Указатель на переменную, получающую исходную контрольную сумму из файла изображения, или нуль при возникновении ошибки.
[out] CheckSum
Указатель на переменную, получающую вычисленную контрольную сумму.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение будет CHECKSUM_SUCCESS (0).
Если функция завершается сбоем, возвращается одно из следующих значений.
Возвращаемый код или значение | Описание |
---|---|
|
Не удалось сопоставить файл. |
|
Не удалось сопоставить представление файла. |
|
Не удалось открыть файл. |
|
Не удалось преобразовать имя файла в Юникод. |
Комментарии
Функция MapFileAndCheckSum вычисляет новую контрольную сумму для файла и возвращает ее в параметре CheckSum . Эта функция используется любым приложением, которое создает или изменяет исполняемый образ. Контрольные суммы требуются для драйверов режима ядра и некоторых системных библиотек DLL. Компоновщик вычисляет исходную контрольную сумму во время компоновки, если используется соответствующий переключатель компоновщика. Дополнительные сведения см. в документации по компоновщику.
Рекомендуется, чтобы все образы имели допустимые контрольные суммы. Вызывающий объект несет ответственность за размещение вновь вычисленной контрольной суммы в сопоставленный образ и обновление образа файла на диске.
Передача параметра Filename , который не указывает на допустимый исполняемый образ, приведет к непредсказуемым результатам. Всем пользователям этой функции рекомендуется убедиться, что передается допустимый исполняемый образ.
Все функции ImageHlp, такие как эта, являются однопоточными. Поэтому вызовы из нескольких потоков к этой функции, скорее всего, приведут к непредвиденному поведению или повреждению памяти. Чтобы избежать этого, необходимо синхронизировать все параллельные вызовы из нескольких потоков в эту функцию.
Примечание
Заголовок imagehlp.h определяет MapFileAndCheckSum в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | imagehlp.h |
Библиотека | Imagehlp.lib |
DLL | Imagehlp.dll |