ImageRvaToVa 関数 (dbghelp.h)

ファイルとしてマップされたファイルのイメージ ヘッダー内で相対仮想アドレス (RVA) を検索し、ファイル内の対応するバイトの仮想アドレスを返します。

構文

PVOID IMAGEAPI ImageRvaToVa(
  [in]           PIMAGE_NT_HEADERS     NtHeaders,
  [in]           PVOID                 Base,
  [in]           ULONG                 Rva,
  [in, optional] PIMAGE_SECTION_HEADER *LastRvaSection
);

パラメーター

[in] NtHeaders

IMAGE_NT_HEADERS構造体へのポインター。 この構造体は、 ImageNtHeader 関数を呼び出すことによって取得できます。

[in] Base

MapViewOfFile 関数の呼び出しによってメモリにマップされるイメージのベース アドレス。

[in] Rva

配置する相対仮想アドレス。

[in, optional] LastRvaSection

最後の RVA セクションを指定する IMAGE_SECTION_HEADER 構造体へのポインター。 これは省略可能なパラメーターです。 指定すると、RVA を VA に変換するために指定したイメージに使用される最後のセクション値を含む変数を指します。

戻り値

関数が成功した場合、戻り値はマップされたファイル内の仮想アドレスです。

関数が失敗した場合は、返される値は NULL です。 拡張エラー情報を取得するには、 GetLastError を呼び出します。

注釈

ImageRvaToVa 関数は、ファイルとしてマップされたファイルのイメージ ヘッダー内で RVA を検索し、ファイル内の対応するバイトの仮想アドレスを返します。

この関数など、すべての DbgHelp 関数はシングル スレッドです。 そのため、複数のスレッドからこの関数を呼び出すと、予期しない動作やメモリ破損が発生する可能性があります。 これを回避するには、複数のスレッドからのすべての同時呼び出しをこの関数に同期する必要があります。

要件

要件
対象プラットフォーム Windows
ヘッダー dbghelp.h
Library Dbghelp.lib
[DLL] Dbghelp.dll
再頒布可能パッケージ DbgHelp.dll 5.1 以降

こちらもご覧ください

DbgHelp 関数

IMAGE_NT_HEADERS

IMAGE_SECTION_HEADER

ImageNtHeader

MapViewOfFile