Bagikan melalui


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

DbgHelp Functions

SymRegisterFunctionEntryCallback64