次の方法で共有


IDebugDataSpaces::SearchVirtual メソッド (dbgeng.h)

SearchVirtual メソッドは、ターゲットの仮想メモリで指定されたバイト パターンを検索します。

構文

HRESULT SearchVirtual(
  [in]  ULONG64  Offset,
  [in]  ULONG64  Length,
  [in]  PVOID    Pattern,
  [in]  ULONG    PatternSize,
  [in]  ULONG    PatternGranularity,
  [out] PULONG64 MatchOffset
);

パラメーター

[in] Offset

パターンの検索を開始するターゲットの仮想アドレス空間内の場所を指定します。

[in] Length

パターンを検索する距離を指定します。 一致が成功するには 、Length バイトが検査される前にパターン全体が見つかる必要があります。

[in] Pattern

検索するパターンを指定します。

[in] PatternSize

パターンのサイズをバイト単位で指定します。 これは、パターンの粒度の倍数である必要があります。

[in] PatternGranularity

パターンの粒度を指定します。 一致が成功するには、開始位置の後にこの値の倍数がパターンで発生する必要があります。

[out] MatchOffset

パターンのターゲットの仮想アドレス空間内の場所を受け取ります (検出された場合)。

戻り値

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

リターン コード 説明
S_OK
メソッドは正常に実行されました。
HRESULT_FROM_NT(STATUS_NO_MORE_ENTRIES)
Length バイトを調べた後、パターンが見つかりませんでした。

注釈

このメソッドは、ターゲットの仮想メモリを検索し、ターゲットのメモリの Length バイトに完全に含まれるパターンの最初の出現 (粒度に応じて) を検索します。これは Offset 位置から始まります。

PatternGranularity を使用すると、 Offset を基準にした一致の配置を確保できます。 たとえば、0x4の値を使用して、DWORD へのアラインメントを要求できます。 0x1の値を使用すると、パターンを任意の場所から開始できます。

検索を書き込み可能なメモリに制限する機能など、その他のオプションについては、「 SearchVirtual2」を参照してください。

要件

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

こちらもご覧ください

IDebugDataSpaces

IDebugDataSpaces2

IDebugDataSpaces3

IDebugDataSpaces4

ReadVirtual

SearchVirtual2