CheckSumMappedFile 関数 (imagehlp.h)
指定したイメージ ファイルのチェックサムを計算します。
構文
PIMAGE_NT_HEADERS IMAGEAPI CheckSumMappedFile(
[in] PVOID BaseAddress,
[in] DWORD FileLength,
[out] PDWORD HeaderSum,
[out] PDWORD CheckSum
);
パラメーター
[in] BaseAddress
マップされたファイルのベース アドレス。 この値は、 MapViewOfFile 関数を呼び出すことによって取得されます。
[in] FileLength
ファイルのサイズ (バイト単位) です。
[out] HeaderSum
イメージ ファイルから元のチェックサムを受け取る変数へのポインター。エラーが発生した場合は 0。
[out] CheckSum
計算されたチェックサムを受け取る変数へのポインター。
戻り値
関数が成功した場合、戻り値は、マップされたイメージに含まれる IMAGE_NT_HEADERS 構造体へのポインターです。
関数が失敗した場合は、返される値は NULL です。 拡張エラー情報を取得するには、 GetLastError を呼び出します。
注釈
CheckSumMappedFile 関数は、ファイルの新しいチェックサムを計算し、CheckSum パラメーターで返します。 この関数は、実行可能イメージを作成または変更するすべてのアプリケーションで使用されます。 チェックサムは、カーネル モード ドライバーと一部のシステム DLL に必要です。 適切なリンカー スイッチを使用すると、リンカーはリンク時に元のチェックサムを計算します。 詳細については、リンカーのドキュメントを参照してください。
すべてのイメージに有効なチェックサムを設定することをお勧めします。 新しく計算されたチェックサムをマップされたイメージに配置し、ファイルのディスク上のイメージを更新するのは呼び出し元の責任です。
ImageHlp 関数 (この関数など) はすべてシングル スレッドです。 そのため、複数のスレッドからこの関数を呼び出すと、予期しない動作やメモリ破損が発生する可能性があります。 これを回避するには、複数のスレッドからのすべての同時呼び出しをこの関数に同期する必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | imagehlp.h |
Library | Imagehlp.lib |
[DLL] | Imagehlp.dll |