다음을 통해 공유


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

추가 정보

DbgHelp 함수

ReadProcessMemory

StackWalk64