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

指定模式的數據粒度。 若要成功比對,找到模式和 Offset 的位置之間的差異必須是 PatternGranularity 的倍數。

[out] MatchOffset

如果找到模式,則接收進程虛擬位址空間中的位置。

傳回值

這個方法也可以傳回錯誤值。 如需詳細資訊,請參閱 傳回值

傳回碼 描述
S_OK
此方法成功。
HRESULT_FROM_NT (STATUS_NO_MORE_ENTRIES)
檢查 Length 位元組之後,找不到模式。

備註

這個方法會搜尋目標的虛擬記憶體,以取得目標記憶體 長度位元組中 完全包含在目標記憶體長度位元組中的模式,範圍從 位移 位置開始。第一次出現時,會受到細微度的影響。

PatternGranularity 可用來確保比對相對於 Offset 的對齊方式。 例如,可以使用 0x4 的值來要求對齊 DWORD。 0x1值可用來允許模式在任何位置啟動。

規格需求

需求
目標平台 桌面
標頭 dbgeng.h (包含 Dbgeng.h)

另請參閱

IDebugDataSpaces4

SearchVirtual