本帖最后由 yuqangy 于 2011-05-24 23:29:23 编辑

解决方案 »

  1.   

    oWirte好多个字段,你没全部初始化
      

  2.   

    oWirte其他两个字段初始化为0试过了,还是报87错误
    而且貌似这两字段不需要初始化的
      

  3.   

    FILE_FLAG_NO_BUFFERING
    指定非缓存模式要求读写参数必须是扇区大小的整数倍,一般是512
    if (!WriteFile(hfile,cbuffer,512,NULL,&oWirte))
    看你的意图不需要指定FILE_FLAG_NO_BUFFERING,去掉即可
      

  4.   

    你有FILE_FLAG_NO_BUFFERING
    如果有这个,WriteFile的偏移量,缓冲区大小,甚至缓冲区地址都必须是扇区大小的倍数
      

  5.   

    OK了 ,的确是FILE_FLAG_NO_BUFFERING标志的问题,
    可又出现997的错误:重叠 I/O 操作在进行中。 
    这又是啥问题?
      

  6.   

    明白了 , 是返回FALSE的  。谢谢各位解答