MapFileAndCheckSumA 関数 (imagehlp.h)
指定したファイルのチェックサムを計算します。
構文
DWORD IMAGEAPI MapFileAndCheckSumA(
[in] PCSTR Filename,
[out] PDWORD HeaderSum,
[out] PDWORD CheckSum
);
パラメーター
[in] Filename
チェックサムを計算するファイルのファイル名。
[out] HeaderSum
イメージ ファイルから元のチェックサムを受け取る変数へのポインター。エラーがある場合は 0。
[out] CheckSum
計算されたチェックサムを受け取る変数へのポインター。
戻り値
関数が成功した場合、戻り値は CHECKSUM_SUCCESS (0) になります。
関数が失敗した場合、戻り値は次のいずれかになります。
リターン コード/値 | Description |
---|---|
|
ファイルをマップできませんでした。 |
|
ファイルのビューをマップできませんでした。 |
|
ファイルを開けませんでした。 |
|
ファイル名を Unicode に変換できませんでした。 |
注釈
MapFileAndCheckSum 関数は、ファイルの新しいチェックサムを計算し、CheckSum パラメーターで返します。 この関数は、実行可能イメージを作成または変更するすべてのアプリケーションで使用されます。 チェックサムは、カーネル モード ドライバーと一部のシステム DLL に必要です。 適切なリンカー スイッチを使用する場合、リンカーはリンク時に元のチェックサムを計算します。 詳細については、リンカーのドキュメントを参照してください。
すべてのイメージに有効なチェックサムを設定することをお勧めします。 新しく計算されたチェックサムをマップされたイメージに配置し、ファイルのディスク上のイメージを更新するのは呼び出し元の責任です。
有効な実行可能イメージを指していない Filename パラメーターを渡すと、予期しない結果が生成されます。 この関数のすべてのユーザーは、有効な実行可能イメージが渡されていることを確認することをお勧めします。
この関数など、すべての ImageHlp 関数はシングル スレッドです。 そのため、複数のスレッドからこの関数を呼び出すと、予期しない動作やメモリ破損が発生する可能性があります。 これを回避するには、複数のスレッドからのすべての同時呼び出しをこの関数に同期する必要があります。
注意
imagehlp.h ヘッダーは、MapFileAndCheckSum をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | imagehlp.h |
Library | Imagehlp.lib |
[DLL] | Imagehlp.dll |