首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

WriteFile 有关问题

2012-04-03 
WriteFile 问题在vista系统下, 用visual studio 2005 和 visual c++ 6.0开发。用两个开发工具出现的问题是

WriteFile 问题
在vista系统下, 用visual studio 2005 和 visual c++ 6.0开发。用两个开发工具出现的问题是一样的。
先用CreateFile(szDevicePath,
GENERIC_READ | GENERIC_WRITE|MAXIMUM_ALLOWED|GENERIC_ALL,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
0,
NULL);
其中 szDevicePath 是一个移动U盘的物理路径。
用ReadFile 可以正确读取U盘中的任意扇区的任何信息。
但用WriteFile 却不能正确写, 有时返回结果是 0 ,有时是 1,
 WriteFile返回0时, 如果是写0扇区,WriteFile后, 用GetLastError()得到的数字是 23. 如果写其他任意扇区 则用GetLastError()得到的数字是 5.  
 WriteFile返回1时, 用GetLastError得到的数字则全部是 1110。 

 在XP 系统下可以正确写入,并且可以随意写入自己需要的信息。 

请问为什么会出现这种情况。 怎么解决呢?? 在此先行拜谢了。

[解决办法]
好像不是WriteFile的问题。你看看USB驱动怎么回事吧
[解决办法]
U盘是否写保护?
[解决办法]
"在XP 系统下可以正确写入,并且可以随意写入自己需要的信息。"
这个有可能的
跟操作系统的内核版本,或自带的USB驱动有关的。
找个调试工具,跟一下吧

热点排行