AfxIsValidAddress
Выполнение любой адрес памяти, чтобы убедиться, что он полностью содержится в области памяти программы.
BOOL AfxIsValidAddress(
const void* lp,
UINT nBytes,
BOOL bReadWrite = TRUE
);
Параметры
lp
Указывает адрес памяти, подлежащих.nBytes
Содержит количество байт памяти, подлежащих.bReadWrite
Определяет, является ли память как для чтения и записи (TRUE) или только для чтения (ЛОЖЬ).
Возвращаемое значение
В отладочных построений, ненулевые, если указанный блок памяти содержится полностью в область памяти программы; в противном случае — значение 0.
В сборках неотладочную, — если lp NOT 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