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