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


_CrtIsValidPointer

Проверяет, является ли указанный диапазон памяти допустимым для чтения и записи (отладочные версии).

int _CrtIsValidPointer( 
   const void *address,
   unsigned int size,
   int access 
);

Параметры

  • адрес
    Указывает на начало диапазона памяти в тест на допустимость.

  • size
    Размер указанного диапазона памяти (в байтах).

  • Доступ
    Специальные возможности чтения/записи, указанные для диапазона памяти.

Возвращаемое значение

_CrtIsValidPointer возвращает значение true, если указанный диапазон памяти является допустимым для заданной операции или операций.В противном случае функция возвращает значение false.

Заметки

_CrtIsValidPointer функция проверяет, что начало диапазона памяти адрес и для удлиняющ size байты являются допустимыми для заданной операции или операций со специальными возможностями.После Доступ имеет значение TRUE, диапазон памяти проверяется как для чтения, так и для записи.После адрес FALSE, диапазон памяти проверяется только для чтения.После _Отладка не указывает, вызовы _CrtIsValidPointer удалите во время предварительной обработки.

Поскольку эта функция возвращает значение true или FALSE, его можно передавать одно из _ASSERT макросы для создания простой механизм обработки ошибок отладки.Следующий пример вызывает сбой проверочного утверждения если диапазон памяти недопустимо и для операций чтения и записи.

_ASSERTE( _CrtIsValidPointer( address, size, TRUE ) );

Дополнительные сведения о способах _CrtIsValidPointer может использоваться с другими отладка функции и макросы, см. в разделе С помощью макросов для проверки и отчетности.Сведения о том, как блоки памяти, выделенные инициализируются и управляемые в отладочной версии базовой кучи см. в разделе Управление памятью и куча отладки.

Требования

Процедура

Обязательный заголовок

_CrtIsValidPointer

<crtdbg.h>

Дополнительные сведения о совместимости см. Совместимость во введении.

Библиотеки

Отладочные версии Библиотеки времени выполнения C только для чтения.

Пример

См. пример _CrtIsValidHeapPointer разделе.

Эквивалент в .NET Framework

Неприменимо. Для c# используйте стандартная функция PInvoke. Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

См. также

Ссылки

Подпрограммы отладка