IDebugSymbols2::GetNearNameByOffset 方法 (dbgeng.h)
GetNearNameByOffset 方法返回位于指定位置附近的符号的名称。
语法
HRESULT GetNearNameByOffset(
[in] ULONG64 Offset,
[in] LONG Delta,
[out, optional] PSTR NameBuffer,
[in] ULONG NameBufferSize,
[out, optional] PULONG NameSize,
[out, optional] PULONG64 Displacement
);
参数
[in] Offset
指定目标虚拟地址空间中用于确定所需符号的符号的位置。
[in] Delta
指定所需符号与位于 Offset 处的符号之间的关系。 如果为正值,引擎将返回位于 Offset 的符号之后的 Delta 符号。 如果为负值,引擎将返回位于 Offset 的符号之前是 Delta 符号。
[out, optional] NameBuffer
接收符号的名称。 该名称由符号所属的模块限定 (例如 mymodule!main) 。 如果 NameBuffer 为 NULL,则不会返回此信息。
[in] NameBufferSize
指定缓冲区 NameBuffer 的大小(以字符为单位)。 此大小包括“\0”终止字符的空间。
[out, optional] NameSize
接收符号名称的大小(以字符为单位)。 此大小包括“\0”终止字符的空间。 如果 NameSize 为 NULL,则不会返回此信息。
[out, optional] Displacement
接收 Offset 值与符号的目标内存地址空间中位置之间的差值。 如果 排量 为 NULL,则不会返回此信息。
返回值
此方法也可能返回其他错误值。 有关更多详细信息 ,请参阅返回值 。
返回代码 | 说明 |
---|---|
|
方法成功。 |
|
方法成功。 但是,缓冲区不够大,无法保存符号的名称,因此被截断。 |
|
找不到与 Offset 和 Delta 规范匹配的符号。 |
注解
通过增加或减小 Delta 的值,这些方法可用于从特定位置开始循环访问目标符号。
如果 Delta 为零,则这些方法的行为方式与 GetNameByOffset 相同。
有关符号和符号名称的详细信息,请参阅 符号。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | dbgeng.h (包括 Dbgeng.h) |