Freigeben über


AfxIsValidAddress

Testet jede Speicheradresse, um sicherzustellen, dass sie vollständig innerhalb des Speicherbereichs des Programms enthalten ist.

BOOL AfxIsValidAddress( 
   const void* lp, 
   UINT nBytes, 
   BOOL bReadWrite = TRUE  
);

Parameter

  • lp
    Punkte zur zu testenden Speicheradresse.

  • nBytes
    Enthält die Anzahl von Bytes des zu testenden Speichers.

  • bReadWrite
    Gibt an, dass der Arbeitsspeicher beide zum Lesen und Schreiben (TRUE) oder nur lesen ist (FALSE).

Rückgabewert

In Debugbuilds ungleich 0 (null), wenn der angegebene Speicherblock vollständig innerhalb des Speicherbereichs des Programms enthalten ist; 0 andernfalls.

Im Nicht-Debug erstellt, ungleich 0 (null), wenn lp nicht NULL ist; 0 andernfalls.

Hinweise

Die Adresse wird nicht in den Blöcken beschränkt, die von neu zugeordnet sind.

Beispiel

// 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));

Anforderungen

Header: afx.h

Siehe auch

Referenz

AfxIsMemoryBlock

AfxIsValidString

Konzepte

MFC-Makros, globale Funktionen und globale Variablen