PREAD_PROCESS_MEMORY_ROUTINE回呼函式 (dbghelp.h)
搭配 StackWalk64 函式使用的應用程式定義回呼函式。 當 StackWalk64 需要從進程的位址空間讀取記憶體時,就會呼叫它。
PREAD_PROCESS_MEMORY_ROUTINE64類型會定義這個回呼函式的指標。 ReadProcessMemoryProc64 是應用程式定義函數名稱的佔位元。
語法
PREAD_PROCESS_MEMORY_ROUTINE PreadProcessMemoryRoutine;
BOOL PreadProcessMemoryRoutine(
[in] HANDLE hProcess,
[in] DWORD lpBaseAddress,
[out] PVOID lpBuffer,
[in] DWORD nSize,
[out] PDWORD lpNumberOfBytesRead
)
{...}
參數
[in] hProcess
產生堆疊追蹤之進程的句柄。
[in] lpBaseAddress
要讀取之內存的基位址。
[out] lpBuffer
接收要讀取之內存之緩衝區的指標。
[in] nSize
要讀取的記憶體大小,以位元組為單位。
[out] lpNumberOfBytesRead
接收實際讀取位元組數目之變數的指標。
傳回值
如果函式成功,則傳回值應該是 TRUE。 如果函式失敗,則傳回值應該是 FALSE。
備註
在許多情況下,此函式最適合使用對 ReadProcessMemory 的對應呼叫來服務回呼。
此函式應該盡可能讀取所要求的記憶體。 StackWalk64 函式會處理唯讀取所要求記憶體部分的情況。
此回呼函式會取代 PREAD_PROCESS_MEMORY_ROUTINE 回呼函式。 PREAD_PROCESS_MEMORY_ROUTINE 的定義如下: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
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | dbghelp.h |
可轉散發套件 | DbgHelp.dll 5.1 或更新版本 |