PSYMBOL_FUNCENTRY_CALLBACK fungsi panggilan balik (dbghelp.h)
Fungsi panggilan balik yang ditentukan aplikasi yang digunakan dengan fungsi SymRegisterFunctionEntryCallback64 . Ini dipanggil oleh prosedur berjalan tumpukan.
Jenis PSYMBOL_FUNCENTRY_CALLBACK64 menentukan penunjuk ke fungsi panggilan balik ini. SymRegisterFunctionEntryCallbackProc64 adalah tempat penampung untuk nama fungsi yang ditentukan aplikasi.
Sintaks
PSYMBOL_FUNCENTRY_CALLBACK PsymbolFuncentryCallback;
PVOID PsymbolFuncentryCallback(
[in] HANDLE hProcess,
[in] DWORD AddrBase,
[in, optional] PVOID UserContext
)
{...}
Parameter
[in] hProcess
Handel ke proses yang awalnya diteruskan ke fungsi StackWalk64 .
[in] AddrBase
Alamat instruksi yang fungsi panggilan baliknya harus mengembalikan entri tabel fungsi.
[in, optional] UserContext
Nilai yang ditentukan pengguna yang ditentukan dalam SymRegisterFunctionEntryCallback64, atau NULL. Biasanya, parameter ini digunakan oleh aplikasi untuk meneruskan pointer ke struktur data yang memungkinkan fungsi panggilan balik menetapkan beberapa konteks.
Nilai kembali
Mengembalikan nilai NULL jika tidak ada entri tabel fungsi yang tersedia.
Setelah berhasil, kembalikan pointer ke struktur IMAGE_RUNTIME_FUNCTION_ENTRY . Lihat file header WinNT.h untuk definisi fungsi ini.
Keterangan
Struktur harus dikembalikan dalam bentuk persis yang ada dalam proses yang sedang di-debug. Beberapa anggota mungkin mengarah ke lokasi lain di ruang alamat proses. Fungsi panggilan balik ReadProcessMemoryProc64 dapat dipanggil untuk mengambil informasi di lokasi ini.
Aplikasi panggilan dipanggil melalui fungsi panggilan balik terdaftar sebagai hasil dari panggilan ke fungsi StackWalk64 . Aplikasi panggilan harus disiapkan untuk kemungkinan efek samping yang dapat menyebabkan hal ini. Jika aplikasi hanya memiliki satu fungsi panggilan balik yang sedang digunakan oleh beberapa utas, maka mungkin perlu untuk menyinkronkan beberapa jenis akses data saat berada dalam konteks fungsi panggilan balik.
Fungsi ini mirip dengan fungsi panggilan balik FunctionTableAccessProc64 . Perbedaannya adalah FunctionTableAccessProc64 mengembalikan struktur IMAGE_FUNCTION_ENTRY , sementara fungsi ini mengembalikan struktur IMAGE_RUNTIME_FUNCTION_ENTRY .
Fungsi panggilan balik ini menggantikan fungsi panggilan balik PSYMBOL_FUNCENTRY_CALLBACK . PSYMBOL_FUNCENTRY_CALLBACK didefinisikan sebagai berikut dalam Dbghelp.h.
#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define PSYMBOL_FUNCENTRY_CALLBACK PSYMBOL_FUNCENTRY_CALLBACK64
#endif
typedef
PVOID
(CALLBACK *PSYMBOL_FUNCENTRY_CALLBACK)(
__in HANDLE hProcess,
__in DWORD AddrBase,
__in_opt PVOID UserContext
);
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Windows |
Header | dbghelp.h |
Redistribusi | DbgHelp.dll 5.1 atau yang lebih baru |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk