Функция UnDecorateSymbolName (dbghelp.h)
Отменяет определение указанного декорированного имени символа C++.
Синтаксис
DWORD IMAGEAPI UnDecorateSymbolName(
[in] PCSTR name,
[out] PSTR outputString,
[in] DWORD maxStringLength,
[in] DWORD flags
);
Параметры
[in] name
Декорированное имя символа C++. Это имя можно определить по первому символу имени, которое всегда является вопросительным знаком (?).
[out] outputString
Указатель на строковый буфер, получающий неоконсервированное имя.
[in] maxStringLength
Размер буфера UnDecoratedName в символах.
[in] flags
Параметры того, как декорированное имя не определено. Этот параметр может быть равен нулю или нескольким из следующих значений.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение — это количество символов в буфере UnDecoratedName , не включая признак конца NULL.
Если функция выполняется неудачно, возвращается нулевое значение. Чтобы получить расширенные сведения об ошибке, вызовите Метод GetLastError.
Если функция завершается сбоем и возвращает ноль, содержимое буфера UnDecoratedName не определено.
Комментарии
Чтобы использовать неоцененные символы, вызовите функцию SymSetOptions с параметром SYMOPT_UNDNAME .
Все функции DbgHelp, такие как эта, являются однопоточными. Поэтому вызовы из нескольких потоков к этой функции, скорее всего, приведут к непредвиденному поведению или повреждению памяти. Чтобы избежать этого, необходимо синхронизировать все параллельные вызовы из нескольких потоков в эту функцию.
Чтобы вызвать версию этой функции в Юникоде, определите DBGHELP_TRANSLATE_TCHAR.
Примеры
Пример см. в разделе Получение имен неоконтированных символов.
Требования
Целевая платформа | Windows |
Header | dbghelp.h |
Библиотека | Dbghelp.lib |
DLL | Dbghelp.dll |
Распространяемые компоненты | DbgHelp.dll 5.1 или более поздней версии |