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
如果找到模式,則接收進程虛擬位址空間中的位置。
傳回值
這個方法也可以傳回錯誤值。 如需詳細資訊,請參閱 傳回值 。
傳回碼 | 描述 |
---|---|
|
此方法成功。 |
|
檢查 Length 位元組之後,找不到模式。 |
備註
這個方法會搜尋目標的虛擬記憶體,以取得目標記憶體 長度位元組中 完全包含在目標記憶體長度位元組中的模式,範圍從 位移 位置開始。第一次出現時,會受到細微度的影響。
PatternGranularity 可用來確保比對相對於 Offset 的對齊方式。 例如,可以使用 0x4 的值來要求對齊 DWORD。 0x1值可用來允許模式在任何位置啟動。
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | dbgeng.h (包含 Dbgeng.h) |