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
接收模块的索引。 如果 Index 为 NULL,则不会返回此信息。
[out, optional] Base
接收模块基数的目标内存地址空间中的位置。 如果 Base 为 NULL,则不会返回此信息。
返回值
此方法也可能返回错误值。 有关更多详细信息 ,请参阅返回值 。
返回代码 | 说明 |
---|---|
|
方法成功。 |
注解
从指定的索引开始,此方法返回它找到的第一个模块,其内存分配地址范围包括指定位置。 如果目标具有多个模块,其内存地址范围包括此位置,则后续模块可以通过对此方法的重复调用 (具有较高 StartIndex 值)找到。
有关模块的详细信息,请参阅 模块。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | dbgeng.h (包括 Dbgeng.h) |