checkSumMappedFile 函数 (imagehlp.h)

计算指定图像文件的校验和。

语法

PIMAGE_NT_HEADERS IMAGEAPI CheckSumMappedFile(
  [in]  PVOID  BaseAddress,
  [in]  DWORD  FileLength,
  [out] PDWORD HeaderSum,
  [out] PDWORD CheckSum
);

参数

[in] BaseAddress

映射文件的基址。 此值是通过调用 MapViewOfFile 函数获取的。

[in] FileLength

文件的大小(字节)。

[out] HeaderSum

指向从图像文件接收原始校验和的变量的指针;如果出现错误,则为零。

[out] CheckSum

指向接收计算校验和的变量的指针。

返回值

如果函数成功,则返回值是指向映射图像中包含的 IMAGE_NT_HEADERS 结构的指针。

如果函数失败,则返回值为 NULL。 若要检索扩展的错误信息,请调用 GetLastError

注解

CheckSumMappedFile 函数计算文件的新校验和,并在 CheckSum 参数中返回它。 创建或修改可执行映像的任何应用程序都使用此函数。 内核模式驱动程序和某些系统 DLL 需要校验和。 如果使用适当的链接器开关,链接器会在链接时计算原始校验和。 有关更多详细信息,请参阅链接器文档。

建议所有映像都具有有效的校验和。 调用方负责将新计算的校验和放入映射的映像中,并更新文件的磁盘映像。

所有 ImageHlp 函数(例如此函数)都是单线程函数。 因此,从多个线程调用此函数可能会导致意外行为或内存损坏。 若要避免这种情况,必须将多个线程中的所有并发调用同步到此函数。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 imagehlp.h
Library Imagehlp.lib
DLL Imagehlp.dll

另请参阅

IMAGE_NT_HEADERS

ImageHlp 函数

MapFileAndCheckSum

MapViewOfFile