IsBadCodePtr 函数 (winbase.h)
确定调用进程是否具有对指定地址的内存的读取访问权限。
重要 此函数已过时,不应使用。 尽管其名称为 ,但它不保证指针有效或指向的内存可以安全使用。 有关详细信息,请参阅此页上的备注。
语法
BOOL IsBadCodePtr(
[in] FARPROC lpfn
);
参数
[in] lpfn
指向内存地址的指针。
返回值
如果调用进程具有对指定内存的读取访问权限,则返回值为零。
如果调用进程对指定内存没有读取访问权限,则返回值为非零。 要获得更多的错误信息,请调用 GetLastError。
如果应用程序编译为调试版本,并且进程对指定的内存位置没有读取访问权限,则函数会导致断言并中断调试器。 离开调试器后,函数会像往常一样继续,并返回非零值。 此行为是设计为调试辅助的。
注解
在抢占式多任务环境中,其他线程可能会更改进程对所测试内存的访问。 即使函数指示进程具有对指定内存的读取访问权限,在尝试访问内存时也应使用结构化异常处理。 使用结构化异常处理使系统能够在发生访问冲突异常时通知进程,从而为进程提供处理异常的机会。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | winbase.h (包括 Windows.h) |
Library | Kernel32.lib |
DLL | Kernel32.dll |