Partager via


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

Voir aussi

Référence

AfxIsMemoryBlock

AfxIsValidString

Concepts

macro MFC et Globals