次の方法で共有


IDebugDataSpaces4::SearchVirtual2 メソッド (dbgeng.h)

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

構文

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

パラメーター

[in] Offset

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

[in] Length

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

[in] Flags

検索のフラグのビット フィールドを指定します。 現在、設定できる唯一のビット フラグはDEBUG_VSEARCH_WRITABLE_ONLYであり、検索を書き込み可能なメモリに制限します。

[in] Pattern

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

[in] PatternSize

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

[in] PatternGranularity

パターンの粒度を指定します。 一致を成功させるには、見つかったパターンの位置と オフセット の違いは、PatternGranularityの倍数である必要があります。

[out] MatchOffset

パターンのプロセスの仮想アドレス空間内の場所 (見つかった場合) を受け取ります。

戻り値

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

リターン コード 形容
S_OK
メソッドが成功しました。
HRESULT_FROM_NT(STATUS_NO_MORE_ENTRIES)
Length バイトを調べた後、パターンが見つかりませんでした。

備考

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

PatternGranularity を使用して、オフセットに対する一致の配置を保証できます。 たとえば、0x4の値を使用して、DWORD へのアラインメントを要求できます。 0x1の値を使用して、任意の場所でパターンを開始できます。

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー dbgeng.h (Dbgeng.h を含む)

関連項目

IDebugDataSpaces4

SearchVirtual