lazydogger
驱动牛犊
驱动牛犊
  • 注册日期2007-10-24
  • 最后登录2010-01-06
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望16点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
阅读:977回复:0

写usb的一个问题,能不能把文件直接写到U盘中

楼主#
更多 发布于:2007-10-24 22:32
小弟刚接触usb开发不久,最近遇到一个关于写usb的问题。写文件到U盘中,写成功了,但是没有直接写到u盘中,而需要安全删除U盘后,再重新插入u盘后才能看到更新的内容。可能写入的文件存在系统缓存中或者硬件缓存中。现在有什么办法直接能将文件写到u盘中,而不用缓存?
我用
CreateFile(
    \\.\H,
    GENERIC_READ | GENERIC_WRITE,
    FILE_SHARE_READ| FILE_SHARE_WRITE,
    NULL,
    OPEN_EXISTING,
    FILE_FLAG_NO_BUFFERING,
    NULL);
打开u盘,然后通过
DeviceIoControl(
        DeviceHandle,
                         IOCTL_SCSI_PASS_THROUGH_DIRECT,
                         pSRB,
       sizeof(PT_SCSI_REQUEST_BLOCK),
       pSRB,
       sizeof(PT_SCSI_REQUEST_BLOCK),
      &BytesReturned,
      FALSE);
写SCSI  Command完成操作,而且从返回的指中可以得到操作都已成功了。
游客

返回顶部