The IsBadCodePtr function determines whether the calling process has read access to the memory at the specified address.
BOOL IsBadCodePtr(
FARPROC lpfn // address of function
);
The IsBadReadPtr function verifies that the calling process has read access to the specified range of memory.
BOOL IsBadReadPtr(
CONST VOID *lp, // address of memory block
UINT ucb // size of block
);
The IsBadWritePtr function verifies that the calling process has write access to the specified range of memory.
BOOL IsBadWritePtr(
LPVOID lp, // address of memory block
UINT ucb // size of block
);
The IsBadStringPtr function verifies that the calling process has read access to a range of memory pointed to by a string pointer.
BOOL IsBadStringPtr(
LPCTSTR lpsz, // address of string
UINT ucchMax // maximum size of string
);
Tests any memory address to ensure that it is contained entirely within the program’s memory space. The address is not restricted to blocks allocated by new.
BOOL AfxIsValidAddress( const void* lp, UINT nBytes, BOOL bReadWrite = TRUE );
Use this function to determine whether a pointer to a string is valid.
BOOL AfxIsValidString( LPCSTR lpsz, int nLength = -1 );
Verifies that a specified memory range is valid for reading and writing (debug version only).
int _CrtIsValidPointer( const void *address, unsigned int size, int access );
Verifies that a specified pointer is in the local heap (debug version only).
int _CrtIsValidHeapPointer( const void *userData );
Verifies that a specified memory block is in the local heap and that it has a valid debug heap block type identifier (debug version only).
int _CrtIsMemoryBlock( const void *userData, unsigned int size, long *requestNumber, char **filename, int *linenumber );