Поделиться через


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

См. также

Ссылки

AfxIsMemoryBlock

AfxIsValidString

Основные понятия

Макросы и глобальные MFC