UnDecorateSymbolName 関数 (dbghelp.h)

指定した装飾された C++ シンボル名を解除します。

構文

DWORD IMAGEAPI UnDecorateSymbolName(
  [in]  PCSTR name,
  [out] PSTR  outputString,
  [in]  DWORD maxStringLength,
  [in]  DWORD flags
);

パラメーター

[in] name

装飾された C++ シンボル名。 この名前は、名前の最初の文字で識別できます。これは常に疑問符 (?) です。

[out] outputString

アンコーディングされた名前を受け取る文字列バッファーへのポインター。

[in] maxStringLength

UnDecoratedName バッファーのサイズ (文字数)。

[in] flags

装飾名のアンコーディング方法のオプション。 このパラメーターには、次の値の 0 個以上を指定できます。

意味
UNDNAME_32_BIT_DECODE
0x0800
32 ビットの装飾名を解除します。
UNDNAME_COMPLETE
0x0000
完全なアンコーディングを有効にします。
UNDNAME_NAME_ONLY
0x1000
プライマリ宣言の名前のみを解除します。 [scope::]name を返します。 テンプレート パラメーターを展開します。
UNDNAME_NO_ACCESS_SPECIFIERS
0x0080
メンバーのアクセス指定子の拡張を無効にします。
UNDNAME_NO_ALLOCATION_LANGUAGE
0x0010
宣言言語指定子の展開を無効にします。
UNDNAME_NO_ALLOCATION_MODEL
0x0008
宣言モデルの展開を無効にします。
UNDNAME_NO_ARGUMENTS
0x2000
関数の引数をアンコーディングしないでください。
UNDNAME_NO_CV_THISTYPE
0x0040
プライマリ宣言の 場合、この 型の CodeView 修飾子の展開を無効にします。
UNDNAME_NO_FUNCTION_RETURNS
0x0004
プライマリ宣言の戻り値の型の展開を無効にします。
UNDNAME_NO_LEADING_UNDERSCORES
0x0001
Microsoft キーワードから先頭のアンダースコアを削除します。
UNDNAME_NO_MEMBER_TYPE
0x0200
メンバーの静的属性または仮想属性の拡張を無効にします。
UNDNAME_NO_MS_KEYWORDS
0x0002
Microsoft キーワードの展開を無効にします。
UNDNAME_NO_MS_THISTYPE
0x0020
プライマリ宣言では、 この 型で Microsoft キーワードの展開を無効にします。
UNDNAME_NO_RETURN_UDT_MODEL
0x0400
ユーザー定義型の戻り値に対する Microsoft モデルの展開を無効にします。
UNDNAME_NO_SPECIAL_SYMS
0x4000
vtable、vcall、vector、metatype などの特殊な名前をアンコーディングしないでください。
UNDNAME_NO_THISTYPE
0x0060
この型のすべての修飾子を無効にします。
UNDNAME_NO_THROW_SIGNATURES
0x0100
関数と関数へのポインターのスローシグネチャの展開を無効にします。

戻り値

関数が成功した場合、戻り値は UnDecoratedName バッファー内の文字数であり、NULL ターミネータは含まれません。

関数が失敗した場合は、0 を返します。 拡張エラー情報を取得するには、 GetLastError を呼び出します。

関数が失敗し、0 が返された場合、 UnDecoratedName バッファーの内容は決定されません。

解説

非装飾シンボルを使用するには、 symSetOptions 関数を SYMOPT_UNDNAME オプションと共に呼び出します。

この関数など、すべての DbgHelp 関数はシングル スレッドです。 そのため、複数のスレッドからこの関数を呼び出すと、予期しない動作やメモリ破損が発生する可能性があります。 これを回避するには、複数のスレッドからのすべての同時呼び出しをこの関数に同期する必要があります。

この関数の Unicode バージョンを呼び出すには、DBGHELP_TRANSLATE_TCHARを定義 します

例については、「 アンコーディングされたシンボル名の取得」を参照してください。

要件

   
対象プラットフォーム Windows
ヘッダー dbghelp.h
Library Dbghelp.lib
[DLL] Dbghelp.dll
再頒布可能パッケージ DbgHelp.dll 5.1 以降

関連項目

DbgHelp 関数

SymSetOptions