IDebugSymbols3::GetOffsetByNameWide 方法 (dbgeng.h)

GetOffsetByNameWide 方法返回由名称标识的符号的位置。

语法

HRESULT GetOffsetByNameWide(
  [in]  PCWSTR   Symbol,
  [out] PULONG64 Offset
);

参数

[in] Symbol

指定要查找的符号的名称。 该名称可由模块名称 (限定,例如 mymodule!main) 。

[out] Offset

接收符号内存分配基数的目标内存地址空间中的位置。

返回值

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

返回代码 说明
S_OK
方法成功。
S_FALSE
方法成功。 但是,名称 Symbol 不是唯一的,并且找到了具有该名称的多个符号。 其中一个符号是任意选择并返回的。
E_FAIL
找不到具有指定名称的符号。

注解

如果名称 Symbol 不唯一,并且 GetOffsetByName 找到具有该名称的多个符号,则多义性将任意解决。 在这种情况下,将返回值S_FALSE。 StartSymbolMatch 可用于启动搜索,以确定所需的结果。

GetNameByOffset 不支持模式匹配 (例如通配符) 。 若要使用模式匹配查找符号,请使用 StartSymbolMatch

如果符号的模块名称已知,则最好是使用模块名称限定符号名称。 否则,引擎将搜索所有模块的符号,直到找到匹配项;如果它必须加载大量模块的符号文件,则这可能需要很长时间。 如果符号名称使用模块名称限定,则引擎仅搜索该模块的符号。

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

要求

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

另请参阅

GetNameByOffset

IDebugSymbols3