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) になります。
関数が失敗した場合、戻り値は次のいずれかになります。
戻りコード/値 | 形容 |
---|---|
|
ファイルをマップできませんでした。 |
|
ファイルのビューをマップできませんでした。 |
|
ファイルを開けませんでした。 |
|
ファイル名を Unicode に変換できませんでした。 |
備考
MapFileAndCheckSum 関数は、ファイルの新しいチェックサムを計算し、CheckSum パラメーターで返します。 この関数は、実行可能イメージを作成または変更するすべてのアプリケーションで使用されます。 カーネル モード ドライバーと一部のシステム DLL にはチェックサムが必要です。 適切なリンカー スイッチを使用すると、リンカーはリンク時に元のチェックサムを計算します。 詳細については、リンカーのドキュメントを参照してください。
すべてのイメージに有効なチェックサムを設定することをお勧めします。 新しく計算されたチェックサムをマップされたイメージに配置し、ファイルのディスク上のイメージを更新するのは呼び出し元の責任です。
有効な実行可能イメージを指していない Filename パラメーターを渡すと、予期しない結果が発生します。 この関数のすべてのユーザーは、有効な実行可能イメージが渡されていることを確認することをお勧めします。
この ImageHlp 関数など、すべての ImageHlp 関数はシングル スレッドです。 そのため、複数のスレッドからこの関数を呼び出すと、予期しない動作やメモリ破損が発生する可能性があります。 これを回避するには、複数のスレッドからのすべての同時呼び出しをこの関数に同期する必要があります。
手記
imagehlp.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして MapFileAndCheckSum を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows Server 2003 [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | imagehlp.h |
ライブラリ | Imagehlp.lib |
DLL | Imagehlp.dll |
関連項目
CheckSumMappedFile の
imageHlp 関数 の