次の方法で共有


IDebugDataSpaces2::GetVirtualTranslationPhysicalOffsets メソッド (dbgeng.h)

GetVirtualTranslationPhysicalOffsets メソッドは、ページング階層のさまざまなレベルにあるシステム ページング構造体の物理アドレスを返します。

構文

HRESULT GetVirtualTranslationPhysicalOffsets(
  [in]            ULONG64  Virtual,
  [out, optional] PULONG64 Offsets,
  [in]            ULONG    OffsetsSize,
  [out, optional] PULONG   Levels
);

パラメーター

[in] Virtual

変換するターゲットの仮想アドレス空間内の場所を指定します。

[out, optional] Offsets

システム ページング構造体の物理アドレスを受け取ります。 NULL に設定されている場合、この情報は返されません。

[in] OffsetsSize

配列 Offset が保持する要素の数を指定します。 これは、返されるアドレスの最大数です。

[out, optional] Levels

指定したアドレスのページング階層内のレベルの数を受け取ります。 これが NULL の場合、この情報は返されません。

戻り値

このメソッドは、エラー値を返すこともできます。 詳細については、「 戻り値 」を参照してください。

リターン コード 説明
S_OK
メソッドは正常に実行されました。
HRESULT_FROM_NT(STATUS_NO_PAGEFILE)
指定されたアドレスを含む物理ページが見つかりませんでした。

注釈

このメソッドは、カーネル モード デバッグでのみ使用できます。

仮想アドレスを物理アドレスに変換するには、Windows がページング階層を下に移動する必要があります。 各レベルで、物理メモリからページング情報を読み取ります。 このメソッドは、これらの物理ページのオフセットを返します。 ページング階層内のレベルの数は、アドレスによって異なる場合があります。

階層の最後のレベルのアドレスは、指定された仮想アドレスに対応する物理アドレスです。 これは VirtualToPhysical が返すものです。

仮想アドレスを物理アドレスに変換する方法の詳細については、「 Microsoft Windows Internals by David ソロモン」および「Mark Russinovich」を参照してください。

要件

要件
対象プラットフォーム デスクトップ
Header dbgeng.h (Dbgeng.h を含む)