IsBadHugeReadPtr
The IsBadHugeReadPtr
function verifies that the calling process has read access to the specified
range of memory.
BOOL IsBadHugeReadPtr(
CONST VOID *lp, |
// address of
memory block |
UINT ucb |
// size of block |
); |
|
Parameters
lp
Points to the
first byte of the memory block.
ucb
Specifies the
size, in bytes, of the memory block. If this parameter is zero, the return
value is zero.
Return Values
If the
calling process has read access to all bytes in the specified memory range, the
return value is zero.
If the
calling process does not have read access to all bytes in the specified memory
range, the return value is nonzero. To get extended error information, call GetLastError
Remarks
If the
calling process has read access to some, but not all, of the bytes in the
specified memory range, the return value is nonzero.
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 the function indicates
that the process has read 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.
IsBadHugeReadPtr is available for compatibility with earlier versions
of Windows that distinguish between normal memory allocations and huge
allocations occupying multiple segments. In the Win32 API, this function is
equivalent to the IsBadReadPtr
See Also