首页 > 代码库 > IsBadStringPtr、IsBadWritePtr

IsBadStringPtr、IsBadWritePtr

判断调用进程是否拥有对指定字符串指针的读取权限,函数原型如下:

BOOL IsBadStringPtr(

    LPCTSTR lpsz,

    UINT_PTR ucchMax);

参数:

lpsz: 输入参数,指向字符串。

ucchMax:输入参数,读取字符串的最大长度。

返回值:

返回BOOL值,表示当前进程是否拥有字符串指针指向的字符串的度操作权限。

 

IsBadWritePtr

判断调用进程是否拥有对指定地址段内存的写操作权限,函数原型如下:

BOOL IsBadWritePtr(

    LPVOID lp,

    UINT      ucb);

参数:
lp: 输入参数,指向起始内存地址。

ucb:  输入参数,从起始内存地址开始的内存块的长度。

返回值:

返回BOOL值,表示当前进程是否拥有字符串指针指向的字符串的写入权限。

 

 

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