Bagikan melalui


Fungsi SymEnumSymbols (dbghelp.h)

Menghitung semua simbol dalam suatu proses.

Sintaks

BOOL IMAGEAPI SymEnumSymbols(
  [in]           HANDLE                         hProcess,
  [in]           ULONG64                        BaseOfDll,
  [in, optional] PCSTR                          Mask,
  [in]           PSYM_ENUMERATESYMBOLS_CALLBACK EnumSymbolsCallback,
  [in, optional] PVOID                          UserContext
);

Parameter

[in] hProcess

Handel ke proses. Handel ini sebelumnya harus diteruskan ke fungsi SymInitialize .

[in] BaseOfDll

Alamat dasar modul. Jika nilai ini nol dan Mask berisi tanda seru (!), fungsi akan terlihat di seluruh modul. Jika nilai ini nol dan Mask tidak berisi tanda seru, fungsi menggunakan cakupan yang ditetapkan oleh fungsi SymSetContext .

[in, optional] Mask

String kartubebas yang menunjukkan nama simbol yang akan dijumlahkan. Teks dapat secara opsional berisi kartubebas, "*" dan "?".

Untuk menentukan modul atau set modul tertentu, mulai teks dengan string kartubebas yang menentukan modul, diikuti dengan tanda seru. Saat menentukan modul, BaseOfDll diabaikan.

Nilai Makna
Foo
Jika BaseOfDll bukan nol, maka SymEnumSymbols akan mencari simbol global bernama "foo".

Jika BaseOfDll adalah nol, maka SymEnumSymbols akan mencari simbol lokal bernama "foo" dalam cakupan yang ditetapkan oleh panggilan terbaru ke fungsi SymSetContext .

Foo?
Jika BaseOfDll bukan nol, maka SymEnumSymbols akan mencari simbol global yang dimulai dengan "foo" dan berisi satu karakter tambahan setelahnya, seperti "bodoh" dan "kaki".

Jika BaseOfDll adalah nol, maka SymEnumSymbols akan mencari simbol yang dimulai dengan "foo" dan berisi satu karakter tambahan setelahnya, seperti "bodoh" dan "kaki". Pencarian akan berada dalam cakupan yang dibuat oleh panggilan terbaru ke fungsi SymSetContext .

foo*!bar
SymEnumSymbols akan melihat di setiap modul yang dimuat yang dimulai dengan teks "foo" untuk simbol yang disebut "bar". Ini bisa menemukan kecocokan seperti ini, "foot!bar", "footlocker!bar", dan "fool!bar".
*!*
SymEnumSymbols akan menghitung setiap simbol dalam setiap modul yang dimuat.

[in] EnumSymbolsCallback

Fungsi panggilan balik SymEnumSymbolsProc yang menerima informasi simbol.

[in, optional] UserContext

Nilai yang ditentukan pengguna yang diteruskan ke fungsi panggilan balik, atau NULL. Parameter ini biasanya digunakan oleh aplikasi untuk meneruskan penunjuk ke struktur data yang menyediakan konteks untuk fungsi panggilan balik.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan adalah TRUE.

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

Keterangan

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 Menghitung Simbol.

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

SymEnumSymbolsProc