SymGetLineFromInlineContextW 函数 (dbghelp.h)

查找指定内联上下文的源行。

语法

BOOL IMAGEAPI SymGetLineFromInlineContextW(
  [in]           HANDLE            hProcess,
  [in]           DWORD64           dwAddr,
  [in]           ULONG             InlineContext,
  [in, optional] DWORD64           qwModuleBaseAddress,
  [out]          PDWORD            pdwDisplacement,
  [out]          PIMAGEHLP_LINEW64 Line
);

参数

[in] hProcess

最初传递给 SymInitialize 函数的进程句柄。

[in] dwAddr

应为其定位行的地址。 地址不必位于线条边界上。 如果地址出现在行的开头之后和行尾之前,则找到该行。

[in] InlineContext

内联上下文。

[in, optional] qwModuleBaseAddress

模块的基址。

[out] pdwDisplacement

行开头的位移(以字节为单位),或零。

[out] Line

指向 IMAGEHLP_LINE64 结构的指针。

返回值

如果函数成功,则返回值为 TRUE

如果函数失败,则返回值为 FALSE。 若要检索扩展的错误信息,请调用 GetLastError

注解

调用方必须在调用 SymGetLineFromInlineContext 之前正确分配 Line 缓冲区并填充IMAGEHLP_LINE64结构的所需成员。

此函数返回指向另一个函数可能重复使用的缓冲区的指针。 因此,请务必立即将返回的数据复制到另一个缓冲区。

所有 DbgHelp 函数(例如此函数)都是单线程的。 因此,从多个线程调用此函数可能会导致意外行为或内存损坏。 若要避免这种情况,必须将多个线程中的所有并发调用同步到此函数。

若要调用此函数的 Unicode 版本,请定义 DBGHELP_TRANSLATE_TCHARSymGetLineFromInlineContext 在 Dbghelp.h 中定义如下。

BOOL
IMAGEAPI
SymGetLineFromInlineContextW(
    _In_ HANDLE hProcess,
    _In_ DWORD64 dwAddr,
    _In_ ULONG InlineContext,
    _In_opt_ DWORD64 qwModuleBaseAddress,
    _Out_ PDWORD pdwDisplacement,
    _Out_ PIMAGEHLP_LINEW64 Line
    );

#ifdef DBGHELP_TRANSLATE_TCHAR
 #define SymGetLineFromInlineContext SymGetLineFromInlineContextW
#endif

注意

dbghelp.h 标头将 SymGetLineFromInlineContext 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

要求
目标平台 Windows
标头 dbghelp.h
Library DbgHelp.lib
DLL DbgHelp.dll
可再发行组件 DbgHelp.dll 6.2 或更高版本