функция обратного вызова 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 |
Header | dbghelp.h |
Распространяемые компоненты | DbgHelp.dll 5.1 или более поздней версии |