Partilhar via


IDiaSymbol::get_undecoratedNameEx

Recupera parte ou todo um nome não decorado de um nome C++ decorado (vinculação).

Sintaxe

HRESULT get_undecoratedNameEx( 
   DWORD undecorateOptions,
   BSTR* pRetval
);

Parâmetros

undecoratedOptions

[in] Especifica uma combinação de sinalizadores que controlam o que é retornado. Consulte a seção Comentários para obter os valores específicos e o que eles fazem.

pRetVal

[out] Retorna o nome não decorado para um nome decorado em C++.

Valor Retornado

Se tiver êxito, retornará S_OK. Caso contrário, retornará S_FALSE ou um código de erro.

Observação

Um valor retornado de S_FALSE significa que a propriedade não está disponível para o símbolo.

Comentários

O undecorateOptions pode ser uma combinação dos seguintes sinalizadores.

Observação

Os nomes de sinalizador não são definidos no SDK do DIA, portanto, você precisa adicionar as declarações ao código ou usar os valores brutos.

Sinalizador Valor Descrição
UNDNAME_COMPLETE 0x0000 Habilita a não decoração completa.
UNDNAME_NO_LEADING_UNDERSCORES 0x0001 Remove sublinhados à esquerda das palavras-chave estendidas da Microsoft.
UNDNAME_NO_MS_KEYWORDS 0x0002 Desabilita a expansão das palavras-chave estendidas da Microsoft.
UNDNAME_NO_FUNCTION_RETURNS 0x0004 Desabilita a expansão do tipo de retorno da declaração primária.
UNDNAME_NO_ALLOCATION_MODEL 0x0008 Desabilita a expansão do modelo de declaração.
UNDNAME_NO_ALLOCATION_LANGUAGE 0x0010 Desabilita a expansão do especificador de idioma de declaração.
UNDNAME_RESERVED1 0x0020 RESERVADO.
UNDNAME_RESERVED2 0x0040 RESERVADO.
UNDNAME_NO_THISTYPE 0x0060 Desabilita todos os modificadores no tipo this.
UNDNAME_NO_ACCESS_SPECIFIERS 0x0080 Desabilita a expansão de especificadores de acesso para membros.
UNDNAME_NO_THROW_SIGNATURES 0x0100 Desabilita a expansão de "throw-signatures" para funções e ponteiros de funções.
UNDNAME_NO_MEMBER_TYPE 0x0200 Desabilita a expansão de membros static ou virtual.
UNDNAME_NO_RETURN_UDT_MODEL 0x0400 Desabilita a expansão do modelo da Microsoft para retornos UDT.
UNDNAME_32_BIT_DECODE 0x0800 Cancela a codificação de nomes decorados de 32 bits.
UNDNAME_NAME_ONLY 0x1000 Obtém apenas o nome da declaração primária; retorna apenas [scope::]name. Expande parâmetros de modelo.
UNDNAME_TYPE_ONLY 0x2000 A entrada é apenas uma codificação de tipo; compõe um declarador abstrato.
UNDNAME_HAVE_PARAMETERS 0x4000 Os parâmetros de modelo reais estão disponíveis.
UNDNAME_NO_ECSU 0x8000 Suprime enum/class/struct/union.
UNDNAME_NO_IDENT_CHAR_CHECK 0x10000 Suprime a verificação de caracteres de identificador válidos.
UNDNAME_NO_PTR64 0x20000 Não inclui ptr64 na saída.

Confira também