AfxIsValidAddress 

BOOL AfxIsValidAddress( const void* lp, UINT nBytes, BOOL bReadWrite = TRUE );

Return Value

Nonzero if the specified memory block is contained entirely within the program’s memory space; otherwise 0.

Parameters

lp

Points to the memory address to be tested.

nBytes

Contains the number of bytes of memory to be tested.

bReadWrite

Specifies whether the memory is both for reading and writing (TRUE) or just reading (FALSE).

Remarks

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.

Example

// Allocate a 5 character array, which should have a valid memory address.
char *array = new char[5];

// Create a null pointer, which should be an invalid memory address.
char *null = (char *)0x0;

ASSERT(AfxIsValidAddress(array, 5));
ASSERT(!AfxIsValidAddress(null, 5));

See Also   AfxIsMemoryBlock, AfxIsValidString