Compartilhar via


Função UnDecorateSymbolNameW (dbghelp.h)

Cancela a codificação do nome de símbolo C++ decorado especificado.

Sintaxe

DWORD IMAGEAPI UnDecorateSymbolNameW(
  [in]  PCWSTR name,
  [out] PWSTR  outputString,
  [in]  DWORD  maxStringLength,
  [in]  DWORD  flags
);

Parâmetros

[in] name

O nome de 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 corrigido.

[in] maxStringLength

O tamanho do buffer UnDecoratedName , em caracteres.

[in] flags

As opções de como o nome decorado não é compilado. Esse parâmetro pode ser zero ou mais dos valores a seguir.

Valor Significado
UNDNAME_32_BIT_DECODE
0x0800
Cancelar a codificação de nomes decorados de 32 bits.
UNDNAME_COMPLETE
0x0000
Habilite a undecoração completa.
UNDNAME_NAME_ONLY
0x1000
Cancele a codificação apenas do nome da declaração primária. Retorna [scope::]name. Expande os parâmetros de modelo.
UNDNAME_NO_ACCESS_SPECIFIERS
0x0080
Desabilite a expansão dos especificadores de acesso para membros.
UNDNAME_NO_ALLOCATION_LANGUAGE
0x0010
Desabilite a expansão do especificador de linguagem de declaração.
UNDNAME_NO_ALLOCATION_MODEL
0x0008
Desabilite a expansão do modelo de declaração.
UNDNAME_NO_ARGUMENTS
0x2000
Não cancele a codificação de argumentos de função.
UNDNAME_NO_CV_THISTYPE
0x0040
Desabilite a expansão dos modificadores do CodeView no esse tipo de para a declaração primária.
UNDNAME_NO_FUNCTION_RETURNS
0x0004
Desabilite a expansão dos tipos de retorno para declarações primárias.
UNDNAME_NO_LEADING_UNDERSCORES
0x0001
Remova os sublinhados principais das palavras-chave da Microsoft.
UNDNAME_NO_MEMBER_TYPE
0x0200
Desabilite a expansão do atributo estático ou virtual dos membros.
UNDNAME_NO_MS_KEYWORDS
0x0002
Desabilite a expansão das palavras-chave da Microsoft.
UNDNAME_NO_MS_THISTYPE
0x0020
Desabilite a expansão das palavras-chave da Microsoft no esse tipo de para declaração primária.
UNDNAME_NO_RETURN_UDT_MODEL
0x0400
Desabilite a expansão do modelo da Microsoft para retornos de tipo definido pelo usuário.
UNDNAME_NO_SPECIAL_SYMS
0x4000
Não indecora nomes especiais, como vtable, vcall, vector, metatype e assim por diante.
UNDNAME_NO_THISTYPE
0x0060
Desabilite todos os modificadores no esse tipo de.
UNDNAME_NO_THROW_SIGNATURES
0x0100
Desabilite a expansão de assinaturas de lançamento para funções e ponteiros para funções.

Valor de retorno

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.

Observações

Para usar símbolos não corrigidos, chame a função SymSetOptions com a opção SYMOPT_UNDNAME.

Todas as funções DbgHelp, como esta, são threaded simples. 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 corrigidos.

Nota

O cabeçalho dbghelp.h define UnDecorateSymbolName como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
da Plataforma de Destino Windows
cabeçalho dbghelp.h
biblioteca Dbghelp.lib
de DLL Dbghelp.dll
redistribuível DbgHelp.dll 5.1 ou posterior

Consulte também

do DbgHelp Functions

SymSetOptions