在单步调试的时候,能向磁盘中写数据;但是整体执行的时候,WriteFile()的返回值正确,但是磁盘中的数据没有变化
用GetLastError()检查,返回值是0
函数写法:WriteFile(hDevice, pInput, nBytesOfInput, &dwBytesWritten, NULL);尝试过的方法有:
1.可能是WriteFile()没有立刻执行,于是在WriteFile()之后调用Sleep(100),不管用
2.可能是由于缓存机制没有立刻写入,使用FlushFileBuffers(hDevice)强制写入,也不管用
3.在CreateFile()时使用参数FILE_FLAG_NO_BUFFERING | FILE_FLAG_WRITE_THROUGH,同样不能成功最令人困惑的地方是:如果在调试状态下,执行到即将进行写操作的代码行处然后单步调试(F10),则可以写入;但是如果直接运行程序的话,却不能写入。而这两种情况下WriteFile()的返回值都是正确的,且参数中lpNumberOfBytesWritten也和nNumberOfBytesToWrite是相等的。向各位大牛请教
用GetLastError()检查,返回值是0
函数写法:WriteFile(hDevice, pInput, nBytesOfInput, &dwBytesWritten, NULL);尝试过的方法有:
1.可能是WriteFile()没有立刻执行,于是在WriteFile()之后调用Sleep(100),不管用
2.可能是由于缓存机制没有立刻写入,使用FlushFileBuffers(hDevice)强制写入,也不管用
3.在CreateFile()时使用参数FILE_FLAG_NO_BUFFERING | FILE_FLAG_WRITE_THROUGH,同样不能成功最令人困惑的地方是:如果在调试状态下,执行到即将进行写操作的代码行处然后单步调试(F10),则可以写入;但是如果直接运行程序的话,却不能写入。而这两种情况下WriteFile()的返回值都是正确的,且参数中lpNumberOfBytesWritten也和nNumberOfBytesToWrite是相等的。向各位大牛请教
解决方案 »
- CMSChart !!!!!!!!!!!!!!!!!!!!!!!!1
- 匹配字符
- 怎么定义一个线段,能拉伸,连节图片后随图片的移动而变化,想VISIO!!!
- 一个最简单的C++类,为何编译不过
- 使用WINDOWS标准保存对话框,怎样把软驱和光驱去掉?谢谢.
- 请教:如何在自定义的类中往滚动视窗上写文字?急!急!急!急!立即结帐!谢谢!
- 谁知道peter norton的《MFC开发Windows 95/NT4应用程序》的源码在哪可以得到?
- #######一个另我发疯的低级缓冲区溢出漏洞######
- mfc中模拟键盘控制游戏中的人物动作
- 哪儿有打包的图标库下载?
- 提升程序权限
- Must define a target architecture.
贴完整代码