IDebugDataSpaces::SearchVirtual method (dbgeng.h)

The SearchVirtual method searches the target's virtual memory for a specified pattern of bytes.

Syntax

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

Parameters

[in] Offset

Specifies the location in the target's virtual address space to start searching for the pattern.

[in] Length

Specifies how far to search for the pattern. A successful match requires the entire pattern to be found before Length bytes have been examined.

[in] Pattern

Specifies the pattern to search for.

[in] PatternSize

Specifies the size in bytes of the pattern. This must be a multiple of the granularity of the pattern.

[in] PatternGranularity

Specifies the granularity of the pattern. For a successful match the pattern must occur a multiple of this value after the start location.

[out] MatchOffset

Receives the location in the target's virtual address space of the pattern, if it was found.

Return value

This method can also return error values. See Return Values for more details.

Return code Description
S_OK
The method was successful.
HRESULT_FROM_NT(STATUS_NO_MORE_ENTRIES)
After examining Length bytes the pattern was not found.

Remarks

This method searches the target's virtual memory for the first occurrence, subject to granularity, of the pattern entirely contained in the Length bytes of the target's memory starting at the location Offset.

PatternGranularity can be used to ensure the alignment of the match relative to Offset. For example, a value of 0x4 can be used to require alignment to a DWORD. A value of 0x1 can be used to allow the pattern to start anywhere.

For additional options, including the ability to restrict the search to writable memory, see SearchVirtual2.

Requirements

Requirement Value
Target Platform Desktop
Header dbgeng.h (include Dbgeng.h)

See also

IDebugDataSpaces

IDebugDataSpaces2

IDebugDataSpaces3

IDebugDataSpaces4

ReadVirtual

SearchVirtual2