AfxIsMemoryBlock 

BOOL AfxIsMemoryBlock( const void* p, UINT nBytes, LONG* plRequestNumber = NULL );

Return Value

Nonzero if the memory block is currently allocated and the length is correct; otherwise 0.

Parameters

p

Points to the block of memory to be tested.

nBytes

Contains the length of the memory block in bytes.

plRequestNumber

Points to a long integer that will be filled in with the memory block’s allocation sequence number. The variable pointed to by plRequestNumber will only be filled in if AfxIsMemoryBlock returns nonzero.

Remarks

Tests a memory address to make sure it represents a currently active memory block that was allocated by the diagnostic version of new. It also checks the specified size against the original allocated size. If the function returns nonzero, the allocation sequence number is returned in plRequestNumber. This number represents the order in which the block was allocated relative to all other new allocations.

Example

// example for AfxIsMemoryBlock
CAge* pcage = new CAge( 21 ); // CAge is derived from CObject.
ASSERT( AfxIsMemoryBlock( pcage, sizeof( CAge ) ) )

See Also   AfxIsValidAddress