SymSearchW 函数 (dbghelp.h)
搜索满足指定条件的 PDB 符号。
语法
BOOL IMAGEAPI SymSearchW(
[in] HANDLE hProcess,
[in] ULONG64 BaseOfDll,
[in, optional] DWORD Index,
[in, optional] DWORD SymTag,
[in, optional] PCWSTR Mask,
[in, optional] DWORD64 Address,
[in] PSYM_ENUMERATESYMBOLS_CALLBACKW EnumSymbolsCallback,
[in, optional] PVOID UserContext,
[in] DWORD Options
);
参数
[in] hProcess
进程的句柄。 此句柄以前必须传递给 SymInitialize 函数。
[in] BaseOfDll
模块的基址。 如果此值为零,并且 Mask 包含感叹号 (!),则函数会跨模块查找。 如果此值为零且 Mask 不包含感叹号,则函数使用由 SymSetContext 函数建立的范围。
[in, optional] Index
符号的唯一值。
[in, optional] SymTag
PDB 分类。 这些值在 SymTagEnum 枚举类型中的 Dbghelp.h 中定义。 有关说明,请参阅 PDB 文档。
[in, optional] Mask
一个通配符表达式,指示要枚举的符号的名称。 若要指定模块名称,请使用 !mod 语法。
[in, optional] Address
符号的地址。
[in] EnumSymbolsCallback
SymEnumSymbolsProc 接收符号信息的回调函数。
[in, optional] UserContext
传递给回调函数的用户定义值,或 NULL。 此参数通常由应用程序用来将指针传递给提供回调函数上下文的数据结构。
[in] Options
控制此函数行为的选项。
价值 | 意义 |
---|---|
|
在 .pdb 文件中包括所有符号和其他数据。
DbgHelp 6.6 及更早版本:不支持 此值。 |
|
仅搜索全局符号。 |
|
仅供内部使用。 |
|
从顶部递归以查找所有符号。 |
返回值
如果函数成功,则返回值 TRUE。
如果函数失败,则返回值 FALSE。 若要检索扩展的错误信息,请调用 GetLastError。
言论
所有 DbgHelp 函数(如此函数)都是单线程的。 因此,从多个线程调用此函数可能会导致意外行为或内存损坏。 若要避免这种情况,必须将来自多个线程的所有并发调用同步到此函数。
若要调用此函数的 Unicode 版本,请定义DBGHELP_TRANSLATE_TCHAR。
注意
dbghelp.h 标头将 SymSearch 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
目标平台 | 窗户 |
标头 | dbghelp.h |
库 | Dbghelp.lib |
DLL | Dbghelp.dll |
可再发行组件 | DbgHelp.dll 6.2 或更高版本 |