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
получения количества байтов, необходимых для получения контрольной суммы. Затем выделите буфер соответствующего размера и вызовите этот метод еще раз с новым буфером.