BOOL AFXAPI AfxIsValidAddress(const void* lp, UINT nBytes, BOOL bReadWrite /* = TRUE */) { // simple version using Win-32 APIs for pointer validation. return (lp != NULL && !IsBadReadPtr(lp, nBytes) && (!bReadWrite || !IsBadWritePtr((LPVOID)lp, nBytes))); }
不是要底层实现的话,有几个 WIN32 API 可以利用: IsBadReadPtr IsBadWritePtr IsBadCodePtr IsBadStringPtr 此外,也可以用 VirtualQuery 监测虚地址是否已提交
admin [ 上海市网友 ] 2016-08-19 16:32:51
admin [ 上海市网友 ] 2016-08-19 16:32:43