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


Функция IsBadCodePtr (winbase.h)

Определяет, имеет ли вызывающий процесс доступ на чтение к памяти по указанному адресу.

Важно Эта функция устарела и не должна использоваться. Несмотря на его название, он не гарантирует, что указатель является допустимым или что память, указываемая на, является безопасной в использовании. Дополнительные сведения см. в разделе Примечания на этой странице.
 

Синтаксис

BOOL IsBadCodePtr(
  [in] FARPROC lpfn
);

Параметры

[in] lpfn

Указатель на адрес памяти.

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

Если вызывающий процесс имеет доступ на чтение к указанной памяти, возвращаемое значение равно нулю.

Если вызывающий процесс не имеет доступа на чтение к указанной памяти, возвращаемое значение не равно нулю. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Если приложение скомпилировано как отладочную версию и процесс не имеет доступа на чтение к указанному расположению памяти, функция вызывает утверждение и прерывает работу отладчика. При выходе из отладчика функция продолжает работу как обычно и возвращает ненулевое значение. Это поведение предназначено для отладки.

Комментарии

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

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header winbase.h (включая Windows.h)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

IsBadReadPtr

IsBadStringPtr

IsBadWritePtr