UnDecorateSymbolNameW 関数 (dbghelp.h)
指定した修飾された C++ シンボル名を解除します。
構文
DWORD IMAGEAPI UnDecorateSymbolNameW(
[in] PCWSTR name,
[out] PWSTR outputString,
[in] DWORD maxStringLength,
[in] DWORD flags
);
パラメーター
[in] name
装飾された C++ シンボル名。 この名前は、名前の最初の文字で識別できます。これは常に疑問符 (?) です。
[out] outputString
指定されていない名前を受け取る文字列バッファーへのポインター。
[in] maxStringLength
UnDecoratedName バッファーのサイズ (文字数)。
[in] flags
装飾された名前の非装飾方法のオプション。 このパラメーターには、次の値の 0 個以上を指定できます。
戻り値
関数が成功した場合、戻り値は UnDecoratedName バッファー内の文字数であり、NULL 終端記号は含まれません。
関数が失敗した場合は、0 を返します。 拡張エラー情報を取得するには、 GetLastError を呼び出します。
関数が失敗し、0 が返された場合、 UnDecoratedName バッファーの内容は不明です。
解説
非装飾シンボルを使用するには、SYMOPT_UNDNAME オプションを指定して SymSetOptions 関数を呼び出します。
この関数など、すべての DbgHelp 関数はシングル スレッドです。 そのため、複数のスレッドからこの関数を呼び出すと、予期しない動作やメモリ破損が発生する可能性があります。 これを回避するには、複数のスレッドからのすべての同時呼び出しをこの関数に同期する必要があります。
この関数の Unicode バージョンを呼び出すには、DBGHELP_TRANSLATE_TCHARを定義 します。
例
例については、「 未コーディングのシンボル名の取得」を参照してください。
注意
dbghelp.h ヘッダーは、UnDecorateSymbolName をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
対象プラットフォーム | Windows |
ヘッダー | dbghelp.h |
Library | Dbghelp.lib |
[DLL] | Dbghelp.dll |
再頒布可能パッケージ | DbgHelp.dll 5.1 以降 |