共用方式為


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

指定搜尋模式的距離。 成功比對需要找到整個模式,才能檢查 長度 位元組。

[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 個字節中,從 Offset 位置開始。

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

要求

要求 價值
目標平臺 桌面
標頭 dbgeng.h (include Dbgeng.h)

另請參閱

IDebugDataSpaces4

SearchVirtual