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,以获取检索校验和所需的字节数。 然后,分配适当大小的缓冲区,并使用新缓冲区再次调用此方法。

另请参阅