次の方法で共有


IDiaSymbol::get_undecoratedNameEx

C++ の装飾 (リンケージ) 名の非装飾名の一部または全部を取得します。

構文

HRESULT get_undecoratedNameEx( 
   DWORD undecorateOptions,
   BSTR* pRetval
);

パラメーター

undecoratedOptions

[入力] 返される内容を制御するフラグの組み合わせを指定します。 特定の値とその機能については、「解説」を参照してください。

pRetVal

[out] C++ の装飾名の非装飾名を返します。

戻り値

成功した場合は、S_OK を返します。それ以外の場合は、S_FALSE またはエラー コードを返します。

Note

戻り値 S_FALSE は、プロパティをそのシンボルに使用できないことを意味します。

解説

undecorateOptions には、次のフラグの組み合わせを指定できます。

Note

フラグ名は DIA SDK で定義されていないため、宣言をコードに追加するか、生の値を使用する必要があります。

フラグ 説明
UNDNAME_COMPLETE 0x0000 完全な装飾解除を有効にします。
UNDNAME_NO_LEADING_UNDERSCORES 0x0001 Microsoft 拡張キーワードから先頭のアンダースコアを削除します。
UNDNAME_NO_MS_KEYWORDS 0x0002 Microsoft 拡張キーワードの展開を無効にします。
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 シグネチャ" の展開を無効にします。
UNDNAME_NO_MEMBER_TYPE 0x0200 static メンバーまたは virtual メンバーの展開を無効にします。
UNDNAME_NO_RETURN_UDT_MODEL 0x0400 UDT の戻り値に対する Microsoft モデルの拡張を無効にします。
UNDNAME_32_BIT_DECODE 0x0800 32 ビットの装飾名を装飾解除します。
UNDNAME_NAME_ONLY 0x1000 プライマリ宣言の名前のみを取得します。[scope::] の名前だけを返します。 テンプレート パラメーターを展開します。
UNDNAME_TYPE_ONLY 0x2000 入力は単なる型のエンコードです。抽象宣言子を合成します。
UNDNAME_HAVE_PARAMETERS 0x4000 実際のテンプレート パラメーターを使用できます。
UNDNAME_NO_ECSU 0x8000 列挙型/クラス/構造体/共用体を抑制します。
UNDNAME_NO_IDENT_CHAR_CHECK 0x10000 有効な識別子文字のチェックを抑制します。
UNDNAME_NO_PTR64 0x20000 出力に ptr64 を含めません。

関連項目