AfxIsValidAddress
Verifica qualsiasi indirizzo di memoria per garantire che venga contenuto completamente all'interno dello spazio di memoria del programma.
BOOL AfxIsValidAddress(
const void* lp,
UINT nBytes,
BOOL bReadWrite = TRUE
);
Parametri
lp
Punti all'indirizzo di memoria da testare.nBytes
Contiene il numero di byte di memoria da testare.bReadWrite
Specifica se la memoria è sia per la lettura e la scrittura (TRUE) o solo la lettura (FALSE).
Valore restituito
Nelle build di debug, diversi da zero se il blocco di memoria specificato è contenuto completamente all'interno dello spazio di memoria del programma; in caso contrario 0.
Nelle compilazioni non di debug, diversi da zero se lp non è NULL, in caso contrario 0.
Note
l'indirizzo non è limitato ai blocchi allocati da new.
Esempio
// Allocate a 5 character array, which should have a valid memory address.
char* arr = new char[5];
// Create a null pointer, which should be an invalid memory address.
char* null = (char*)0x0;
ASSERT(AfxIsValidAddress(arr, 5));
ASSERT(!AfxIsValidAddress(null, 5));
Requisiti
Header: afx.h