BNValidStringPtr
BNValidStringPtr 함수는 호출 프로세스가 문자열 포인터로 가리킨 메모리 범위에 대한 읽기 접근 권한을 갖고 있는지 확인합니다.
bool BNValidStringPtr( const char *strPtr, // 문자열의 주소 GSSize maxSize // 문자열의 최대 크기 );
파라미터
- strPtr
- NULL로 끝나는 문자열에 대한 포인터입니다.
- maxSize
- 문자열의 최대 크기를 문자들로 지정합니다. 이 함수는 문자열을 종료시키는 null 문자까지의 모든 바이트, 또는 이 maxSize 파라미터가 지정한 바이트 수에서 짧은 것이 읽기 접근 권한을 갖고 있는지 확인합니다. 만약 이 파라미터가 제로(0)이면, 리턴 값은 true입니다.
리턴 값
Macintosh:
리턴 값은 항상 true입니다.
Windows:
만약 호출 프로세스가 문자열을 종료시키는 null 문자까지의 모든 바이트, 또는 maxSize로 지정된 바이트 수까지 읽기 접근 권한을 갖고 있다면, 리턴 값은 true입니다.
만약 호출 프로세스가 문자열을 종료시키는 null 문자까지의 모든 바이트, 또는 maxSize로 지정된 바이트 수까지 읽기 접근 권한을 갖고 있지 않다면, 리턴 값은 false입니다.
설명
Windows:
만약 애플리케이션이 디버깅 모드로 컴파일되고, 프로세스가 지정된 메모리 범위 내에 있는 모든 바이트에 대한 읽기 접근 권한을 갖고 있지 않다면, 함수는 assertion fault를 발생시키고 디버거로 break합니다.
디버거가 종료되면, 함수는 평소처럼 계속 진행되고 true를 리턴합니다. 이것은 의도된 행동이며 그 목적은 디버깅 지원을 제공하는 것입니다.
만약 호출 프로세스가 지정된 메모리 범위 전체가 아닌 일부에 대해서만 읽기 접근 권한을 갖고 있다면, 리턴 값은 false입니다.
BNValidStringPtr 함수는 IsBadStringPtr Win32 함수를 감쌉니다.
요구사항
헤더: BM.hpp에서 선언됨
라이브러리 가져오기: GSRootImp.lib와 링크