AfxIsValidAddress
Teste n'importe quelle 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.LectureBlanche
Spécifie si la mémoire est à la fois en lecture et en écriture (TRUE) ou lire uniquement (FALSE).
Valeur de retour
Dans les versions de débogage, une valeur différente de zéro si le bloc de mémoire spécifié est contenue 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é à des blocs propriétaires par nouveau.
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
En-tête : afx.h