Функция 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 |