IDebugSymbols3::GetNearNameByOffsetWide 方法 (dbgeng.h)

GetNearNameByOffsetWide 方法返回位于指定位置附近的符号的名称。

语法

HRESULT GetNearNameByOffsetWide(
  [in]            ULONG64  Offset,
  [in]            LONG     Delta,
  [out, optional] PWSTR    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

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

返回值

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

返回代码 说明
S_OK
方法成功。
S_FALSE
方法成功。 但是,缓冲区不够大,无法保存符号的名称,因此被截断。
E_NOINTERFACE
找不到与 OffsetDelta 规范匹配的符号。

注解

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

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

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

要求

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

另请参阅

GetNameByOffset

GetOffsetByName

IDebugSymbols3