我修改ramdisk做了个虚拟磁盘(该设备为PCI接口的存储设备,掉电后可保存数据),但在写完文件时(此时文件复制进度对话已消失),对系统断电,再重启后发现文件并没完全写入,出现文件丢失或损坏.之后跟踪驱动程序发现,在文件复制进度对话已消失时还在写磁盘,要过一段时间才能完全写...
全文
回复(15) 2007-04-27 09:00 来自版块 - 内核编程
表情
zzzevazzzextern "C" NTSYSAPI NTSTATUS NTAPI ZwFlushBuffersFile( ...(2007-05-18 11:44)
ymzh1982引用第11楼zzzevazzz于2007-04-30 00:02发表的 : 用ZwFlushBuffersFile强制缓存写进磁盘。 在驱动中用声明: NTSYSAPI NTSTATUS NTAPI ZwFlushBuffersFile( IN HANDLE Fil...(2007-05-17 20:42)
ymzh1982虚拟盘驱动中IoGetCurrentIrpStackLocation(Irp得到的FileObject无效,FileObject我用IoGetDeviceObjectPointer得到了,但在虚拟盘驱动中调用CcFlushCache时出现Page fault错误,不知什么原因. ...(2007-05-17 19:19)
rayyang2000引用第4楼alphapiao于2007-04-28 19:33发表的“”: 你想想windows下,向U盘写数据时,都需要点击安全移除才能保证数据完整。。。 没有必要。一般做的好的移动设备,在Windows中的Policy都是Optimize for quick removal...(2007-04-30 09:00)
zzzevazzz用ZwFlushBuffersFile强制缓存写进磁盘。(2007-04-30 00:02)
ymzh1982有什么方法可以让文件系统把我的虚拟盘当做软驱操作,紧紧将MediaType指定为软驱应该不行吧??(2007-04-29 20:07)
alphapiao在文件系统驱动这一层,软驱是作特殊处理的,往软驱写数据,是不缓冲的。(2007-04-29 17:36)
ymzh1982软驱应该不缓冲吧,它怎么实现的(2007-04-29 14:07)
ymzh1982软驱应该不缓冲吧,它怎么实现的(2007-04-29 12:01)
alphapiao文件关闭不代表缓冲已经写入磁盘。(2007-04-28 17:35)

返回顶部