Partager via


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

Voir aussi

Référence

AfxIsMemoryBlock

AfxIsValidString

Concepts

Macro MFC et Globals