Access Validation
The Win32 API provides a set of functions that a process can use to verify
whether it has a specified type of access to a given memory address or range of
addresses. The following access validation functions are available.
Function
| Description
|
IsBadCodePtr
| Determines whether the calling process has read access to the memory at the
specified address.
|
IsBadReadPtr
| Determines whether the calling process has read access to the memory at a
specified range of addresses.
|
IsBadStringPtr
| Determines whether the calling process has read access to the memory pointed
to by a null-terminated string pointer. The function validates access for a
specified number of characters or until it encounters the string's terminating null
character.
|
IsBadWritePtr
| Determines whether the calling process has write access to the memory at a
specified range of addresses.
|
The
IsBadHugeReadPtr and
IsBadHugeWritePtr functions are also available for compatibility with earlier versions of
Windows that distinguished between normal memory allocations and huge allocations
occupying multiple segments. In the Win32 API, these functions are equivalent to
IsBadReadPtr and
IsBadWritePtr.
In a preemptive multitasking environment, it is possible for some other thread
to change the process's access to the memory being tested. Even when an access
validation function indicates that the process has the desired access to the
specified memory, you should use structured exception handling when attempting
to access the memory. Use of structured exception handling enables the system to
notify the process if an access violation exception occurs, giving the process
an opportunity to handle the exception. For more information about structured
exception handling, see
Structured Exception Handling.
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database