IDiaSourceFile::get_checksum
检索校验和字节。
语法
HRESULT get_checksum (
DWORD cbData,
DWORD* pcbData,
BYTE data[]
);
参数
cbData
[in] 数据缓冲区的大小(以字节为单位)。
pcbData
[out] 返回校验和字节数。 此参数不能为 NULL
。
data
[in, out] 用校验和字节填充的缓冲区。 如果此参数为 NULL
,则 pcbData
返回所需的字节数。
返回值
如果成功,则返回 S_OK
;否则,返回错误代码。
备注
若要确定用于生成校验和字节的校验和算法类型,请调用 IDiaSourceFile::get_checksumType 方法。
校验和通常是从源文件的映像生成的,因此,源文件中的更改会反映在校验和字节的更改中。 如果校验和字节与从文件的加载映像生成的校验和不匹配,则该文件应视为已损坏或已被篡改。
典型校验和的大小绝不会超过 32 个字节,但不会假定为校验和的最大大小。 将 data
参数设置为 NULL
,以获取检索校验和所需的字节数。 然后,分配适当大小的缓冲区,并使用新缓冲区再次调用此方法。