IDebugSymbols3::GetModuleByOffset2 方法 (dbgeng.h)

GetModuleByOffset2 方法在进程的模块中搜索内存分配包含指定位置的模块

语法

HRESULT GetModuleByOffset2(
  [in]            ULONG64  Offset,
  [in]            ULONG    StartIndex,
  [in]            ULONG    Flags,
  [out, optional] PULONG   Index,
  [out, optional] PULONG64 Base
);

参数

[in] Offset

指定目标虚拟地址空间中所需模块内存分配内的位置,例如,属于该模块的符号的地址。

[in] StartIndex

指定要从中开始搜索的索引。

[in] Flags

指定一个位集,其中包含搜索具有指定位置的模块时使用的选项。 标志 可以包含以下位标志:

标志 效果
DEBUG_GETMOD_NO_LOADED_MODULES 不要搜索加载的模块。
DEBUG_GETMOD_NO_UNLOADED_MODULES 不要搜索卸载的模块。

[out, optional] Index

接收模块的索引。 如果 IndexNULL,则不会返回此信息。

[out, optional] Base

接收模块基数的目标内存地址空间中的位置。 如果 BaseNULL,则不会返回此信息。

返回值

此方法也可能返回错误值。 有关更多详细信息 ,请参阅返回值

返回代码 说明
S_OK
方法成功。

注解

从指定的索引开始,此方法返回它找到的第一个模块,其内存分配地址范围包括指定位置。 如果目标具有多个模块,其内存地址范围包括此位置,则后续模块可以通过对此方法的重复调用 (具有较高 StartIndex 值)找到。

有关模块的详细信息,请参阅 模块

要求

要求
目标平台 桌面
标头 dbgeng.h (包括 Dbgeng.h)

另请参阅

GetModuleByIndex

GetModuleByOffset

IDebugSymbols3