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

另请参阅

IsBadReadPtr

IsBadStringPtr

IsBadWritePtr