IsBadHugeReadPtr功能验证调用进程是否具有对指定范围的内存的读取访问权限。
BOOL IsBadHugeReadPtr(
CONST VOID *【lp】, | //内存块地址 |
UINT 【UCB】 | //块大小 |
); |
参数
【lp】
指向内存块的第一个字节。
【UCB】
指定内存块的大小(以字节为单位)。如果此参数为零,返回值为零。
返回值
如果调用进程对指定内存范围内的所有字节具有读取访问权限,返回值为零。
如果调用进程没有对指定内存范围内的所有字节的读取访问权限,则返回值不为零。要获取扩展错误信息,请调用GetLastError.
备注
如果调用进程对指定内存范围中的某些(但不是全部)字节具有读取访问权限,则返回值不为零。
在抢占式多任务环境中,某些其他线程可能会更改进程对正在测试的内存的访问。即使该函数指示进程对指定内存的读取访问权限,也可以在尝试访问内存时使用结构化异常处理。使用结构化异常处理使系统能够通知进程是否发生访问冲突异常,从而使进程有机会处理异常。
IsBadHugeReadPtr可用于兼容早期版本的Windows,区分正常内存分配和占用多个分段的巨额分配。在Win32 API中,此函数相当于IsBadReadPtr功能。
也可以看看
IsBadHugeWritePtr, IsBadReadPtr, IsBadStringPtr, IsBadWritePtr