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 |