IDiaSourceFile::get_checksum
Recupera los bytes de la suma de comprobación.
Sintaxis
HRESULT get_checksum (
DWORD cbData,
DWORD* pcbData,
BYTE data[]
);
Parámetros
cbData
[in] Tamaño del búfer de datos, en bytes.
pcbData
[out] Devuelve el número de bytes de la suma de comprobación. Este parámetro no puede ser NULL
.
data
[in, out] Búfer que se rellena con los bytes de la suma de comprobación. Si este parámetro es NULL
, pcbData
devuelve el número de bytes necesarios.
Valor devuelto
Si la operación se realiza correctamente, devuelve S_OK
; de lo contrario, devuelve un código de error.
Comentarios
Para determinar el tipo de algoritmo de suma de comprobación que se usó para generar los bytes de la suma de comprobación, llame al método IDiaSourceFile::get_checksumType.
Normalmente, la suma de comprobación se genera a partir de la imagen del archivo de origen, por lo que los cambios en el archivo de origen se reflejan en los cambios en los bytes de la suma de comprobación. Si los bytes de la suma de comprobación no coinciden con una suma de comprobación generada a partir de la imagen cargada del archivo, debe considerarse que el archivo está dañado o alterado.
Las sumas de comprobación típicas nunca tienen más de 32 bytes, pero no asuma que ese sea el tamaño máximo de una suma de comprobación. Establezca el parámetro data
en NULL
para obtener el número de bytes necesarios para recuperar la suma de comprobación. Luego, asigne un búfer del tamaño adecuado y llame a este método una vez más con el nuevo búfer.