Поделиться через


Функция ImageGetDigestStream (imagehlp.h)

Извлекает запрошенные данные из указанного файла изображения.

Синтаксис

BOOL IMAGEAPI ImageGetDigestStream(
  [in] HANDLE          FileHandle,
  [in] DWORD           DigestLevel,
  [in] DIGEST_FUNCTION DigestFunction,
  [in] DIGEST_HANDLE   DigestHandle
);

Параметры

[in] FileHandle

Дескриптор файла изображения. Этот дескриптор необходимо открыть для FILE_READ_DATA доступа.

[in] DigestLevel

Аспекты изображения, которые должны быть включены в возвращаемый поток данных. Этот параметр может иметь одно или несколько из следующих значений.

Значение Значение
CERT_PE_IMAGE_DIGEST_ALL_IMPORT_INFO
0x04
Включить все сведения об импорте.
CERT_PE_IMAGE_DIGEST_DEBUG_INFO
0x01
Включите символьные сведения об отладке.
CERT_PE_IMAGE_DIGEST_RESOURCES
0x02
Включите сведения о ресурсе.

[in] DigestFunction

Указатель на подпрограмму обратного вызова для обработки данных. Дополнительные сведения см. в разделе DigestFunction.

[in] DigestHandle

Предоставленный пользователем дескриптор дайджеста. Этот параметр передается в DigestFunction в качестве первого аргумента.

Возвращаемое значение

Если функция выполнена успешно, возвращается значение TRUE.

Если функция завершается сбоем, возвращается значение FALSE. Чтобы получить расширенные сведения об ошибке, вызовите Метод GetLastError.

Комментарии

Функция ImageGetDigestStream возвращает данные для переваривания из указанного файла изображения с учетом переданного параметра DigestLevel . Порядок байтов будет согласованным для разных вызовов, что необходимо для обеспечения того, чтобы из полученного потока байтов всегда создавался один и тот же дайджест сообщения.

Чтобы обеспечить кроссплатформенную совместимость, все реализации этой функции должны вести себя согласованно относительно порядка, в котором возвращаются различные части файла изображения.

Данные должны возвращаться в следующем порядке:

  1. Сведения об изображениях (исполняемых и статических данных).
  2. Данные ресурсов.
  3. Сведения для отладки.
Если какие-либо из них не указаны, остальные части должны возвращаться в том же порядке.

Все функции ImageHlp, такие как эта, являются однопоточными. Таким образом, вызовы из нескольких потоков к этой функции, скорее всего, приведут к непредвиденному поведению или повреждению памяти. Чтобы избежать этого, необходимо синхронизировать все параллельные вызовы из нескольких потоков в эту функцию.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header imagehlp.h
Библиотека Imagehlp.lib
DLL Imagehlp.dll

См. также раздел

Функции ImageHlp