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 이상 |