PREAD_PROCESS_MEMORY_ROUTINE fungsi panggilan balik (dbghelp.h)
Fungsi panggilan balik yang ditentukan aplikasi yang digunakan dengan fungsi StackWalk64 . Ini dipanggil ketika StackWalk64 perlu membaca memori dari ruang alamat proses.
Jenis PREAD_PROCESS_MEMORY_ROUTINE64 menentukan penunjuk ke fungsi panggilan balik ini. ReadProcessMemoryProc64 adalah tempat penampung untuk nama fungsi yang ditentukan aplikasi.
PREAD_PROCESS_MEMORY_ROUTINE PreadProcessMemoryRoutine;
BOOL PreadProcessMemoryRoutine(
[in] HANDLE hProcess,
[in] DWORD lpBaseAddress,
[out] PVOID lpBuffer,
[in] DWORD nSize,
[out] PDWORD lpNumberOfBytesRead
)
{...}
[in] hProcess
Handel ke proses yang jejak tumpukannya dihasilkan.
[in] lpBaseAddress
Alamat dasar memori yang akan dibaca.
[out] lpBuffer
Penunjuk ke buffer yang menerima memori yang akan dibaca.
[in] nSize
Ukuran memori yang akan dibaca, dalam byte.
[out] lpNumberOfBytesRead
Pointer ke variabel yang menerima jumlah byte yang benar-benar dibaca.
Jika fungsi berhasil, nilai yang dikembalikan harus TRUE. Jika fungsi gagal, nilai yang dikembalikan harus FALSE.
Dalam banyak kasus, fungsi ini dapat melayani panggilan balik dengan panggilan yang sesuai ke ReadProcessMemory.
Fungsi ini harus membaca sebanyak mungkin memori yang diminta. Fungsi StackWalk64 menangani kasus di mana hanya sebagian memori yang diminta yang dibaca.
Fungsi panggilan balik ini menggantikan fungsi panggilan balik PREAD_PROCESS_MEMORY_ROUTINE . PREAD_PROCESS_MEMORY_ROUTINE didefinisikan sebagai berikut dalam Dbghelp.h.
#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define PREAD_PROCESS_MEMORY_ROUTINE PREAD_PROCESS_MEMORY_ROUTINE64
#else
typedef
BOOL
(__stdcall *PREAD_PROCESS_MEMORY_ROUTINE)(
__in HANDLE hProcess,
__in DWORD lpBaseAddress,
__out_bcount(nSize) PVOID lpBuffer,
__in DWORD nSize,
__out PDWORD lpNumberOfBytesRead
);
#endif
Persyaratan | Nilai |
---|---|
Target Platform | Windows |
Header | dbghelp.h |
Redistribusi | DbgHelp.dll 5.1 atau yang lebih baru |