UnDecorateSymbolNameW 函数 (dbghelp.h)
取消指定修饰C++符号名称。
语法
DWORD IMAGEAPI UnDecorateSymbolNameW(
[in] PCWSTR name,
[out] PWSTR outputString,
[in] DWORD maxStringLength,
[in] DWORD flags
);
参数
[in] name
修饰的C++符号名称。 此名称可由名称的第一个字符标识,该名称始终是问号(?)。
[out] outputString
指向接收未编码名称的字符串缓冲区的指针。
[in] maxStringLength
UnDecoratedName 缓冲区的大小(以字符为单位)。
[in] flags
修饰名称如何取消编码的选项。 此参数可以是以下值的零个或多个。
返回值
如果函数成功,则返回值是 UnDecoratedName 缓冲区中的字符数,不包括 NULL 终止符。
如果函数失败,则返回值为零。 若要检索扩展的错误信息,请调用 GetLastError。
如果函数失败并返回零,则 UnDecoratedName 缓冲区的内容不确定。
言论
若要使用未编码的符号,请使用 SYMOPT_UNDNAME 选项调用 SymSetOptions 函数。
所有 DbgHelp 函数(如此函数)都是单线程的。 因此,从多个线程调用此函数可能会导致意外行为或内存损坏。 若要避免这种情况,必须将来自多个线程的所有并发调用同步到此函数。
若要调用此函数的 Unicode 版本,请定义 DBGHELP_TRANSLATE_TCHAR。
例子
有关示例,请参阅 检索未编码的符号名称。
注意
dbghelp.h 标头将 UnDecorateSymbolName 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
目标平台 | 窗户 |
标头 | dbghelp.h |
库 | Dbghelp.lib |
DLL | Dbghelp.dll |
可再发行组件 | DbgHelp.dll 5.1 或更高版本 |