Debugging Tools for Windows

GetModuleByOffset2

The GetModuleByOffset2 method searches through the process's modules for one whose memory allocation includes the specified location.

HRESULT
  IDebugSymbols3::GetModuleByOffset2(
    IN ULONG64  Offset,
    IN ULONG  StartIndex,
    IN ULONG  Flags,
    OUT OPTIONAL PULONG  Index,
    OUT OPTIONAL PULONG64 Base
    );

Parameters

Offset
Specifies a location in the target's virtual address space which is inside the desired module's memory allocation — for example, the address of a symbol belonging to the module.
StartIndex
Specifies the index to start searching from.
Flags
Specifies a bit-set containing options used when searching for the module with the specified location. Flags may contain the following bit-flags:
Flag Effect
DEBUG_GETMOD_NO_LOADED_MODULES Do not search the loaded modules.
DEBUG_GETMOD_NO_UNLOADED_MODULES Do not search the unloaded modules.

Index
Receives the index of the module. If Index is NULL, this information is not returned.
Base
Receives the location in the target's memory address space of the base of the module. If Base is NULL, this information is not returned.

Return Value

S_OK
The method was successful.

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

Interface Version

GetModuleByOffset2 is available in IDebugSymbols3 and later versions.

Comments

Starting at the specified index, this method returns the first module it finds whose memory allocation address range includes the specified location. If the target has more than one module whose memory address range includes this location, then subsequent modules can be found by repeated calls to this method with higher values of StartIndex.

For more information about modules, see Modules.

Requirements

Headers: Defined in Dbgeng.h. Include Dbgeng.h.

See Also

GetModuleByOffset, GetModuleByIndex

Build machine: CAPEBUILD