AfxIsValidAddress
Teste une adresse mémoire pour s'assurer qu'elle est contenue entièrement dans l'espace mémoire du programme.
BOOL AfxIsValidAddress(
const void* lp,
UINT nBytes,
BOOL bReadWrite = TRUE
);
Paramètres
lp
Points à l'adresse mémoire à tester.nBytes
Contient le nombre d'octets de mémoire à tester.bReadWrite
Spécifie si la mémoire est à la fois pour la lecture et l'écriture (TRUE) ou de simplement (FALSE).
Valeur de retour
Dans les versions debug, une valeur différente de zéro si le bloc de mémoire spécifié est contenu entièrement dans l'espace mémoire du programme ; sinon 0.
Dans les versions non-debug, une valeur différente de zéro si lp n'est pas NULL ; sinon 0.
Notes
L'adresse n'est pas limitée aux blocs alloués par new.
Exemple
// 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));
Configuration requise
Header: afx.h