Bagikan melalui


Fungsi UnDecorateSymbolName (dbghelp.h)

Membatalkan kode nama simbol C++ yang didekorasi yang ditentukan.

Sintaks

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

Parameter

[in] name

Nama simbol C++ yang dihiasi. Nama ini dapat diidentifikasi dengan karakter pertama nama, yang selalu merupakan tanda tanya (?).

[out] outputString

Penunjuk ke buffer string yang menerima nama yang tidak terdekorasi.

[in] maxStringLength

Ukuran buffer UnDecoratedName , dalam karakter.

[in] flags

Opsi untuk bagaimana nama yang didekorasi tidak terdekorasi. Parameter ini bisa nol atau lebih dari nilai berikut.

Nilai Makna
UNDNAME_32_BIT_DECODE
0x0800
Tidak mendekorasi nama yang didekorasi 32-bit.
UNDNAME_COMPLETE
0x0000
Aktifkan undecoration penuh.
UNDNAME_NAME_ONLY
0x1000
Tidak mendekorasi hanya nama untuk deklarasi utama. Mengembalikan [scope::]name. Memperluas parameter templat.
UNDNAME_NO_ACCESS_SPECIFIERS
0x0080
Nonaktifkan perluasan penentu akses untuk anggota.
UNDNAME_NO_ALLOCATION_LANGUAGE
0x0010
Nonaktifkan perluasan penentu bahasa deklarasi.
UNDNAME_NO_ALLOCATION_MODEL
0x0008
Nonaktifkan perluasan model deklarasi.
UNDNAME_NO_ARGUMENTS
0x2000
Jangan batalkan kode argumen fungsi.
UNDNAME_NO_CV_THISTYPE
0x0040
Nonaktifkan perluasan pengubah CodeView pada jenis ini untuk deklarasi utama.
UNDNAME_NO_FUNCTION_RETURNS
0x0004
Nonaktifkan perluasan jenis pengembalian untuk deklarasi utama.
UNDNAME_NO_LEADING_UNDERSCORES
0x0001
Hapus garis bawah terkemuka dari kata kunci Microsoft.
UNDNAME_NO_MEMBER_TYPE
0x0200
Nonaktifkan ekspansi atribut statis atau virtual anggota.
UNDNAME_NO_MS_KEYWORDS
0x0002
Nonaktifkan ekspansi kata kunci Microsoft.
UNDNAME_NO_MS_THISTYPE
0x0020
Nonaktifkan ekspansi kata kunci Microsoft pada jenis ini untuk deklarasi utama.
UNDNAME_NO_RETURN_UDT_MODEL
0x0400
Nonaktifkan ekspansi model Microsoft untuk pengembalian jenis yang ditentukan pengguna.
UNDNAME_NO_SPECIAL_SYMS
0x4000
Jangan mendekorasi nama khusus, seperti vtable, vcall, vektor, metatype, dan sebagainya.
UNDNAME_NO_THISTYPE
0x0060
Nonaktifkan semua pengubah pada jenis ini .
UNDNAME_NO_THROW_SIGNATURES
0x0100
Nonaktifkan perluasan tanda tangan lempar untuk fungsi dan penunjuk ke fungsi.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan adalah jumlah karakter dalam buffer UnDecoratedName , tidak termasuk terminator NULL.

Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mengambil informasi kesalahan yang diperluas, panggil GetLastError.

Jika fungsi gagal dan mengembalikan nol, konten buffer UnDecoratedName tidak ditentukan.

Keterangan

Untuk menggunakan simbol yang tidak terdekorasi, panggil fungsi SymSetOptions dengan opsi SYMOPT_UNDNAME .

Semua fungsi DbgHelp, seperti ini, adalah utas tunggal. Oleh karena itu, panggilan dari lebih dari satu utas ke fungsi ini kemungkinan akan mengakibatkan perilaku tak terduga atau kerusakan memori. Untuk menghindari hal ini, Anda harus menyinkronkan semua panggilan bersamaan dari lebih dari satu utas ke fungsi ini.

Untuk memanggil versi Unicode dari fungsi ini, tentukan DBGHELP_TRANSLATE_TCHAR.

Contoh

Misalnya, lihat Mengambil Nama Simbol yang Tidak Terdekorasi.

Persyaratan

   
Target Platform Windows
Header dbghelp.h
Pustaka Dbghelp.lib
DLL Dbghelp.dll
Redistribusi DbgHelp.dll 5.1 atau yang lebih baru

Lihat juga

Fungsi DbgHelp

SymSetOptions