[Now Supported on Windows NT]
ImageGetDigestStream函数返回从给定图像文件中消化的数据,但必须遵守传递的【DigestLevel】参数。
BOOL ImageGetDigestStream(
IN HANDLE【FileHandle】, | |
IN DWORD【DigestLevel】, | |
IN PVOID【缓冲】, | |
IN OUT PDWORD【BufferLength】, | |
IN OUT PDWORD【上下文】 | |
); |
参数
【FileHandle】
这将为要修改的图像文件提供句柄。必须为FILE_READ_DATA访问才能打开该句柄。
【DigestLevel】
这表明图像的哪些方面将被包括在返回的数据流中。标志值为:
*DICE_PE_IMAGE_DIGEST_DEBUG_INFO
*DICE_PE_IMAGE_DIGEST_RESOURCES
【缓冲】
提供指向返回数据的缓冲区的指针。
【BufferLength】
在输入时,这将提供传递的【缓冲】(以字节为单位)的大小。在输出时,它返回图像中剩余的数据量。因此,应用程序可以传递零的【BufferLength】,以确定在单次传递中检索所有数据所需的空间。
【上下文】
提供并返回交叉呼叫上下文信息,因此顺序呼叫可以返回数据块,而不需要系统维护关于正在进行的操作的状态信息。
在第一次调用时,此参数必须为零,以获得准确的结果。
返回值
如果函数成功,返回值为TRUE。
如果函数失败,则返回值为FALSE。要检索扩展错误信息,请调用GetLastError.
备注
ImageGetDigestStream函数返回从给定图像文件中消化的数据,但必须遵守传递的【DigestLevel】参数。字节的顺序对于不同的调用将是一致的,这是为了确保始终从检索的字节流生成相同的消息摘要。
为了确保跨平台的兼容性,该函数的所有实现必须以与图像文件的各个部分返回的顺序一致的方式表现。
数据应按以下顺序返回:
1.图像(可执行和静态数据)信息。
资源数据。
试用信息。
如果没有指定其中的任何一个,则必须以相同的顺序返回其余部分。
Windows NT:此函数在Windows NT 3.51下不可用;它是在Windows NT 4.0中引入的。