IDiaSourceFile::get_checksum
Récupère les octets de somme de contrôle.
Syntaxe
HRESULT get_checksum (
DWORD cbData,
DWORD* pcbData,
BYTE data[]
);
Paramètres
cbData
[in] Taille du tampon de données, en octets.
pcbData
[out] Retourne le nombre d’octets de somme de contrôle. Ce paramètre ne peut pas être NULL
.
data
[in, out] Mémoire tampon remplie d’octets de somme de contrôle. Si ce paramètre est NULL
, pcbData
retourne le nombre d’octets requis.
Valeur renvoyée
En cas de réussite, retourne S_OK
, sinon, retourne un code d'erreur.
Remarques
Pour déterminer le type d’algorithme de somme de contrôle utilisé pour générer les octets de somme de contrôle, appelez la méthode IDiaSourceFile::get_checksumType.
La somme de contrôle est généralement générée à partir de l’image du fichier source afin que les modifications apportées au fichier source soient reflétées dans les modifications des octets de somme de contrôle. Si les octets de somme de contrôle ne correspondent pas à une somme de contrôle générée à partir de l’image chargée du fichier, le fichier doit être considéré comme endommagé ou falsifié.
Les sommes de contrôle classiques ne sont jamais supérieures à 32 octets, mais ne partent pas du principe qu’il s’agit de la taille maximale d’une somme de contrôle. Définissez le paramètre data
sur NULL
pour obtenir le nombre d’octets requis pour récupérer la somme de contrôle. Ensuite, allouez une mémoire tampon de la taille appropriée et appelez cette méthode une fois de plus avec la nouvelle mémoire tampon.