IDebugSymbols3::GetFunctionEntryByOffset 方法 (dbgeng.h)
GetFunctionEntryByOffset 方法返回函数的函数条目信息。
语法
HRESULT GetFunctionEntryByOffset(
[in] ULONG64 Offset,
[in] ULONG Flags,
[out, optional] PVOID Buffer,
[in] ULONG BufferSize,
[out, optional] PULONG BufferNeeded
);
参数
[in] Offset
指定函数实现的当前进程的虚拟地址空间中的位置。 这是 GetNextSymbolMatch 和 IDebugSymbolGroup::GetSymbolOffset 的 Offset 参数中返回的值,以及 DEBUG_SYMBOL_ENTRY 结构中的 Offset 字段的值。
[in] Flags
指定一个位标志,用于更改此方法的行为。 如果未设置位DEBUG_GETFNENT_RAW_ENTRY_ONLY,则引擎将为已知情况提供人工条目。 如果设置了此位,则不使用人工条目。
[out, optional] Buffer
接收函数条目信息。 如果有效处理器是 x86,则这是函数的FPO_DATA结构。 对于所有其他体系结构,这是该体系结构的IMAGE_FUNCTION_ENTRY结构。
[in] BufferSize
指定缓冲区 缓冲区的大小。
[out, optional] BufferNeeded
指定函数条目信息的大小。
返回值
此方法也可能返回错误值。 有关更多详细信息 ,请参阅返回值 。
返回代码 | 说明 |
---|---|
|
方法成功。 |
|
方法成功,但缓冲区不够大,无法保存函数条目信息,因此信息被截断以适应。 |
|
找不到 位置 Offset 的函数条目信息。 |
注解
FPO_DATA和IMAGE_FUNCTION_ENTRY的结构记录在 DbgHelp.chm 文件的“映像帮助库”中,该库包含在适用于 Windows 的调试工具中。
注意 DbgHelp.chm 中记录的“映像帮助库”和“调试帮助库”中的函数不应由任何扩展或调试器引擎应用程序调用。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | dbgeng.h (包括 Dbgeng.h、Winnt.h) |