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
标头 imagehlp.h
Library Imagehlp.lib
DLL Imagehlp.dll

另请参阅

ImageHlp 函数