次の方法で共有


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 に設定します。 次に、適切なサイズのバッファーを割り当て、このメソッドを新しいバッファーでもう一度呼び出します。

関連項目