Graphisoft®

GSRootVersion: 1.0

BNValidWritePtr

BNValidWritePtr 함수는 호출 프로세스가 지정된 메모리 범위에 대한 쓰기 접근 권한을 갖고 있는지 확인합니다.

bool BNValidWritePtr(
  const void      *memPtr,       // 메모리 범위에 대한 포인터
  GSSize          len            // 메모리 범위의 길이
);

 

파라미터

memPtr
확인하고자 하는 메모리 범위에 대한 포인터입니다.
len
확인하고자 하는 메모리 범위의 길이를 지정합니다.

리턴 값

Macintosh:
리턴 값은 항상 true입니다.

Windows:
만약 호출 프로세스가 지정한 메모리 범위의 모든 바이트에 대한 쓰기 접근 권한을 갖고 있다면, 리턴 값은 true입니다.

만약 호출 프로세스가 지정한 메모리 범위의 모든 바이트에 대한 쓰기 접근 권한을 갖고 있지 않다면, 리턴 값은 false입니다.

설명

Windows:
만약 애플리케이션이 디버깅 버전으로 컴파일되고, 프로세스가 지정한 메모리 범위의 모든 바이트에 대한 쓰기 접근 권한을 갖고 있지 않다면, 함수는 Assertion fault를 발생시키고 디버거로 break합니다. 디버거를 종료하면 함수는 평소처럼 계속 진행하고 false를 리턴합니다. 이것은 의도된 행동이며, 주된 목적은 디버깅 지원을 제공하는 것입니다.

만약 호출 프로세스가 지정한 메모리 범위의 일부 바이트에 대해서만 쓰기 접근 권한을 갖고 있다면, 리턴 값은 역시 false입니다.

BNValidWritePtr 함수는 IsBadWritePtr Win32 함수를 감쌉니다.

요구사항

    헤더: BM.hpp에서 선언됨
    라이브러리 가져오기: GSRootImp.lib와 링크

참고사항

BN 함수, BNValidReadPtr, BNValidStringPtr