AfxIsValidAddress
Überprüft eine 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 zu testenden Speicheradresse.nBytes
Enthält die Anzahl von Bytes des Arbeitsspeichers, getestet werden soll.bReadWrite
Gibt an, dass der Arbeitsspeicher sowohl zum Lesen und Schreiben (TRUE) oder nur lesen ist (FALSE).
Rückgabewert
In Debugbuilds Wert ungleich 0 (null), wenn der angegebene Speicherblock sich vollständig innerhalb des Speicherbereichs des Programms enthalten ist; andernfalls 0.
In den Nicht-Debug Builds Wert ungleich 0 (null), wenn lp nicht NULL ist; andernfalls 0.
Hinweise
Die Adresse wird nicht in den Blöcken beschränkt, die von new 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