AfxIsValidAddress
Проверяет любой адрес памяти, чтобы удостовериться, что он содержится полностью в области памяти программы.
BOOL AfxIsValidAddress(
const void* lp,
UINT nBytes,
BOOL bReadWrite = TRUE
);
Параметры
lp
Указатель на адрес памяти, которую необходимо проверить.nBytes
Содержит количество байт памяти, который требуется проверить.bReadWrite
Определяет, является ли память оба для чтения и записи (Истина) или чтения (Ложь).
Возвращаемое значение
В отладочные построения, ненулевые если указанный блок памяти содержится полностью в области памяти программы; в противном случае – значение 0.
В построениях non-отладка, ненулевых если lp НЕ равно null; в противном случае – значение 0.
Заметки
Адрес не ограничен выделенным блокам новый.
Пример
// 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));
Требования
Header: afx.h