// 함수의 인자로 (LPCTSTR)가 넘어 왔을 경우 문자열 체크
void Function(LPCTSTR lpszStr)
{
ASSERT( AfxIsValidString( lpszStr ) );
}
// 함수의 인자로 (char *) buffer가 넘어 왔을 경우 버퍼 체크
void Function(void *pBuff, int nLen)
{
ASSERT( IsBadWritePtr(pBuff, nLen) == FALSE );
}
// ASSERT로 에러 내용 출력
_ASSERTE( !"Error - Function()" );
//--------- Assertion Helpter 함수 ----------//
// 메모리가 실행 될 수 있는지 확인
BOOL IsBadCodePtr(
FARPROC lpfn // memory address
);
// 명시된 수의 바이트에 대해서 메모리 포인터를 읽을 수 있는지 확인
BOOL IsBadReadPtr(
CONST VOID *lp, // memory address
UINT_PTR ucb // size of block
);
// 스트링 포인터가 명시된 최대 수나 스트링의 NULL까지 읽을 수 있는지 확인
BOOL IsBadStringPtr(
LPCTSTR lpsz, // string
UINT_PTR ucchMax // maximum size of string
);
// 메모리 포인터가 명시된 바이트 수만큼 기록할 수 있는지 확인
BOOL IsBadWritePtr(
LPVOID lp, // memory address
UINT_PTR ucb // size of memory block
);
// HWND 매개변수가 사용 가능한 윈도우인지 확인
BOOL IsWindow(HWND hwnd);
void Function(LPCTSTR lpszStr)
{
ASSERT( AfxIsValidString( lpszStr ) );
}
// 함수의 인자로 (char *) buffer가 넘어 왔을 경우 버퍼 체크
void Function(void *pBuff, int nLen)
{
ASSERT( IsBadWritePtr(pBuff, nLen) == FALSE );
}
// ASSERT로 에러 내용 출력
_ASSERTE( !"Error - Function()" );
//--------- Assertion Helpter 함수 ----------//
// 메모리가 실행 될 수 있는지 확인
BOOL IsBadCodePtr(
FARPROC lpfn // memory address
);
// 명시된 수의 바이트에 대해서 메모리 포인터를 읽을 수 있는지 확인
BOOL IsBadReadPtr(
CONST VOID *lp, // memory address
UINT_PTR ucb // size of block
);
// 스트링 포인터가 명시된 최대 수나 스트링의 NULL까지 읽을 수 있는지 확인
BOOL IsBadStringPtr(
LPCTSTR lpsz, // string
UINT_PTR ucchMax // maximum size of string
);
// 메모리 포인터가 명시된 바이트 수만큼 기록할 수 있는지 확인
BOOL IsBadWritePtr(
LPVOID lp, // memory address
UINT_PTR ucb // size of memory block
);
// HWND 매개변수가 사용 가능한 윈도우인지 확인
BOOL IsWindow(HWND hwnd);
덧글을 달아 주세요