Поделиться через


IDiaSymbol::get_undecoratedNameEx

Извлекает часть или все неразрывное имя для имени декорированного (компоновка) C++.

Синтаксис

HRESULT get_undecoratedNameEx( 
   DWORD undecorateOptions,
   BSTR* pRetval
);

Параметры

undecoratedOptions

[in] Задает сочетание флагов, которые управляют возвращаемыми значениями. См. раздел "Примечания" для определенных значений и их действий.

pRetVal

[out] Возвращает неоценированное имя для декорированного имени C++.

Возвращаемое значение

При успешном выполнении возвращает S_OK, в противном случае возвращает S_FALSE или код ошибки.

Примечание.

Возврат значения S_FALSE означает, что свойство недоступно для символа.

Замечания

Это undecorateOptions может быть сочетание следующих флагов.

Примечание.

Имена флагов не определены в пакете SDK DIA, поэтому необходимо либо добавить объявления в код, либо использовать необработанные значения.

Флаг значение Описание
UNDNAME_COMPLETE 0x0000 Включает полную некорпорацию.
UNDNAME_NO_LEADING_UNDERSCORES 0x0001 Удаляет ведущие знаки подчеркивания из расширенных ключевое слово Майкрософт.
UNDNAME_NO_MS_KEYWORDS 0x0002 Отключает расширение расширенных ключевое слово Майкрософт.
UNDNAME_NO_FUNCTION_RETURNS 0x0004 Отключает расширение возвращаемого типа для первичного объявления.
UNDNAME_NO_ALLOCATION_MODEL 0x0008 Отключает расширение модели объявления.
UNDNAME_NO_ALLOCATION_LANGUAGE 0x0010 Отключает расширение описатель языка объявления.
UNDNAME_RESERVED1 0x0020 ЗАРЕЗЕРВИРОВАНО.
UNDNAME_RESERVED2 0x0040 ЗАРЕЗЕРВИРОВАНО.
UNDNAME_NO_THISTYPE 0x0060 Отключает все модификаторы типа this .
UNDNAME_NO_ACCESS_SPECIFIERS 0x0080 Отключает расширение описателей доступа для членов.
UNDNAME_NO_THROW_SIGNATURES 0x0100 Отключает расширение "throw-signatures" для функций и указателей на функции.
UNDNAME_NO_MEMBER_TYPE 0x0200 Отключает расширение static или virtual члены.
UNDNAME_NO_RETURN_UDT_MODEL 0x0400 Отключает расширение модели Майкрософт для возврата определяемого пользователем типа.
UNDNAME_32_BIT_DECODE 0x0800 Отменяет 32-разрядные декорированные имена.
UNDNAME_NAME_ONLY 0x1000 Возвращает только имя первичного объявления; возвращает только [область::]name. Расширяет параметры шаблона.
UNDNAME_TYPE_ONLY 0x2000 Входные данные — это только кодировка типов; создает абстрактный декларатор.
UNDNAME_HAVE_PARAMETERS 0x4000 Доступны реальные параметры шаблона.
UNDNAME_NO_ECSU 0x8000 Подавляет перечисление/класс/структуру/объединение.
UNDNAME_NO_IDENT_CHAR_CHECK 0x10000 Подавляет проверка для допустимых символов идентификатора.
UNDNAME_NO_PTR64 0x20000 Не включает ptr64 в выходные данные.

См. также