IsBadWritePtr和IsBadreadPtr

可以用来判断内存地址是否可读写. 百度百科拷贝来的

函数原型:

BOOL IsBadReadPtr(CONST VOID *lp,UINT_PTR ucb);

参数:

lp 表示要检查的内存指针

ucb 要检查的内存块的大小

返回:

如果调用进程有权限访问该内存,返回0

否则,返回非0

说明:

该函数检查调用进程是否有读取指定内存的内容的权限,微软提供的32位操作系统下的API

IsBadWritePtr IsBadWritePtr

BOOL IsBadWritePtr( LPVOID lp, UINT ucb );
  验证调用进程具有写访问权限的指定范围的内存。
  lp 第一个字节的内存块的指针。
  ucb 指定的大小,单位为字节的内存块。如果此参数为零,则返回值为零。
  返回值
  零 调用进程在指定的内存范围具有写访问权限的所有字节。
  非零 调用进程在指定的内存范围内没有写访问权限的所有字节。 BOOL IsBadWritePtr( LPVOID lp, UINT ucb );   验证调用进程具有写访问权限的指定范围的内存。   lp 第一个字节的内存块的指针。   ucb 指定的大小,单位为字节的内存块。如果此参数为零,则返回值为零。   返回值   零 调用进程在指定的内存范围具有写访问权限的所有字节。   非零 调用进程在指定的内存范围内没有写访问权限的所有字节。
[1] [1]
BOOL IsBadWritePtr( LPVOID lp, UINT ucb );   验证调用进程具有写访问权限的指定范围的内存。   lp 第一个字节的内存块的指针。   ucb 指定的大小,单位为字节的内存块。如果此参数为零,则返回值为零。   返回值   零 调用进程在指定的内存范围具有写访问权限的所有字节。   非零 调用进程在指定的内存范围内没有写访问权限的所有字节。 [1]

经验分享 程序员 微信小程序 职场和发展