Função UnDecorateSymbolName (dbghelp.h)
Desdecora o nome do símbolo C++ decorado especificado.
Sintaxe
DWORD IMAGEAPI UnDecorateSymbolName(
[in] PCSTR name,
[out] PSTR outputString,
[in] DWORD maxStringLength,
[in] DWORD flags
);
Parâmetros
[in] name
O nome do símbolo C++ decorado. Esse nome pode ser identificado pelo primeiro caractere do nome, que é sempre um ponto de interrogação (?).
[out] outputString
Um ponteiro para um buffer de cadeia de caracteres que recebe o nome não decorado.
[in] maxStringLength
O tamanho do buffer UnDecoratedName , em caracteres.
[in] flags
As opções de como o nome decorado não é decorado. Esse parâmetro pode ser zero ou mais dos valores a seguir.
Valor retornado
Se a função for bem-sucedida, o valor retornado será o número de caracteres no buffer UnDecoratedName , não incluindo o terminador NULL.
Se a função falhar, o valor retornado será zero. Para recuperar informações de erro estendidas, chame GetLastError.
Se a função falhar e retornar zero, o conteúdo do buffer UnDecoratedName será indeterminado.
Comentários
Para usar símbolos não decorados, chame a função SymSetOptions com a opção SYMOPT_UNDNAME .
Todas as funções DbgHelp, como esta, são threaded único. Portanto, chamadas de mais de um thread para essa função provavelmente resultarão em comportamento inesperado ou corrupção de memória. Para evitar isso, você deve sincronizar todas as chamadas simultâneas de mais de um thread para essa função.
Para chamar a versão Unicode dessa função, defina DBGHELP_TRANSLATE_TCHAR.
Exemplos
Para obter um exemplo, consulte Recuperando nomes de símbolos não decorados.
Requisitos
Plataforma de Destino | Windows |
Cabeçalho | dbghelp.h |
Biblioteca | Dbghelp.lib |
DLL | Dbghelp.dll |
Redistribuível | DbgHelp.dll 5.1 ou posterior |