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. |