Compartir a través de


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.

Consulte también