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 指定的大小,单位为字节的内存块。如果此参数为零,则返回值为零。 返回值 零 调用进程在指定的内存范围具有写访问权限的所有字节。 非零 调用进程在指定的内存范围内没有写访问权限的所有字节。
验证调用进程具有写访问权限的指定范围的内存。
lp 第一个字节的内存块的指针。
ucb 指定的大小,单位为字节的内存块。如果此参数为零,则返回值为零。
返回值
零 调用进程在指定的内存范围具有写访问权限的所有字节。
非零 调用进程在指定的内存范围内没有写访问权限的所有字节。 BOOL IsBadWritePtr( LPVOID lp, UINT ucb ); 验证调用进程具有写访问权限的指定范围的内存。 lp 第一个字节的内存块的指针。 ucb 指定的大小,单位为字节的内存块。如果此参数为零,则返回值为零。 返回值 零 调用进程在指定的内存范围具有写访问权限的所有字节。 非零 调用进程在指定的内存范围内没有写访问权限的所有字节。
[1] [1]
BOOL IsBadWritePtr( LPVOID lp, UINT ucb ); 验证调用进程具有写访问权限的指定范围的内存。 lp 第一个字节的内存块的指针。 ucb 指定的大小,单位为字节的内存块。如果此参数为零,则返回值为零。 返回值 零 调用进程在指定的内存范围具有写访问权限的所有字节。 非零 调用进程在指定的内存范围内没有写访问权限的所有字节。 [1]
下一篇:
归并排序合并K个升序链表