symEnumSymbolsExW 函数 (dbghelp.h)
枚举进程中的所有符号。
语法
BOOL IMAGEAPI SymEnumSymbolsExW(
[in] HANDLE hProcess,
[in] ULONG64 BaseOfDll,
[in, optional] PCWSTR Mask,
[in] PSYM_ENUMERATESYMBOLS_CALLBACKW EnumSymbolsCallback,
[in, optional] PVOID UserContext,
[in] DWORD Options
);
parameters
[in] hProcess
进程的句柄。 此句柄必须以前传递给 SymInitialize 函数。
[in] BaseOfDll
模块的基址。 如果此值为零且 Mask 包含感叹号 (!) ,则函数将跨模块进行查找。 如果此值为零且 Mask 不包含感叹号,则函数将使用 SymSetContext 函数建立的范围。
[in, optional] Mask
一个通配符字符串,指示要枚举的符号的名称。 文本可以选择包含通配符“*”和“?”。
若要指定特定模块或模块集,请以指定模块的通配符字符串开头文本,后跟感叹号。 指定模块时,将忽略 BaseOfDll 。
值 | 含义 |
---|---|
|
如果 BaseOfDll 不为零,则 SymEnumSymbols 将查找名为“foo”的全局符号。
如果 BaseOfDll 为零,则 SymEnumSymbols 将在最近调用 SymSetContext 函数所建立的范围内查找名为“foo”的本地符号。 |
|
如果 BaseOfDll 不为零,则 SymEnumSymbols 将查找一个全局符号,该符号以“foo”开头,然后包含一个额外的字符,例如“傻瓜”和“foot”。
如果 BaseOfDll 为零,则 SymEnumSymbols 将查找一个以“foo”开头并随后包含一个额外字符的符号,例如“傻瓜”和“foot”。 搜索将在最近一次调用 SymSetContext 函数所建立的范围内。 |
|
SymEnumSymbols 将在每个以文本“foo”开头的已加载模块中查找名为“bar”的符号。 它可以查找匹配项,例如“foot!bar”、“footlocker!bar”和“fool!bar”。 |
|
SymEnumSymbols 将枚举每个已加载模块中的每个符号。 |
[in] EnumSymbolsCallback
接收符号信息的 SymEnumSymbolsProcW 回调函数。
[in, optional] UserContext
传递给回调函数的用户定义值,或 NULL。 应用程序通常使用此参数来传递指向为回调函数提供上下文的数据结构的指针。
[in] Options
指示可能的选项。
值 | 含义 |
---|---|
|
使用默认选项。 |
|
枚举内联符号。 |
返回值
如果函数成功,则返回值为 TRUE。
如果函数失败,则返回值为 FALSE。 若要检索扩展的错误信息,请调用 GetLastError。
注解
注意
dbghelp.h 标头将 SymEnumSymbolsEx 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
目标平台 | Windows |
标头 | dbghelp.h |
Library | DbgHelp.lib |
DLL | DbgHelp.dll |
可再发行组件 | DbgHelp.dll 6.2 或更高版本 |