IDebugSymbols3::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)。 如果 NameBufferNULL,则不会返回此信息。

[in] NameBufferSize

指定 NameBuffer缓冲区的大小(以字符为单位)。 此大小包括“\0”终止字符的空间。

[out, optional] NameSize

接收符号名称的字符大小。 此大小包括“\0”终止字符的空间。 如果 NameSizeNULL,则不会返回此信息。

[out, optional] Displacement

接收 偏移量 的值与符号的目标内存地址空间中的位置之间的差异。 如果 排量NULL,则不会返回此信息。

返回值

此方法还可以返回其他错误值。 有关详细信息,请参阅 返回值

返回代码 描述
S_OK
该方法成功。
S_FALSE
该方法成功。 但是,缓冲区不够大,无法保存符号的名称,因此它被截断。
E_NOINTERFACE
找不到与 偏移量Delta 规范匹配的符号。

言论

通过增加或减少 delta的值,这些方法可用于循环访问从特定位置开始的目标符号。

如果 Delta 为零,则这些方法的行为方式与 getNameByOffset 相同。

有关符号和符号名称的详细信息,请参阅 符号

要求

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

另请参阅

GetNameByOffset

GetOffsetByName

IDebugSymbols

IDebugSymbols2

IDebugSymbols3