IDiaSourceFile::get_checksum
チェックサムのバイトを取得します。
構文
HRESULT get_checksum (
DWORD cbData,
DWORD* pcbData,
BYTE data[]
);
パラメーター
cbData
[入力] データ バッファーのサイズ (バイト単位)。
pcbData
[出力] チェックサムのバイト数を返します。 このパラメーターを NULL
とすることはできません。
data
[入力、出力] チェックサムのバイトを格納するバッファー。 このパラメーターが NULL
の場合、pcbData
は必要なバイト数を返します。
戻り値
成功した場合は、S_OK
を返します。それ以外の場合は、エラー コードを返します。
解説
チェックサム バイトの生成に使用されたチェックサム アルゴリズムの種類を特定するには、IDiaSourceFile::get_checksumType メソッドを呼び出します。
チェックサムは通常、ソース ファイルのイメージから生成されるため、ソース ファイルの変更はチェックサム バイトの変更に反映されます。 チェックサム バイトが、読み込まれたファイル イメージから生成されたチェックサムと一致しない場合は、ファイルが破損しているか、改ざんされていると見なす必要があります。
一般的なチェックサムでは、サイズが 32 バイトを超えることはありませんが、これがチェックサムの最大サイズであるとは限りません。 チェックサムの取得に必要なバイト数を取得するには、data
パラメーターを NULL
に設定します。 次に、適切なサイズのバッファーを割り当て、このメソッドを新しいバッファーでもう一度呼び出します。