阅读:1289回复:4
写入文件尾时,返回写入长度是由什么决定的
比如要写入0x20552字节数据,用filespy查看,发现共有三条请求
towrite 10000 write 10000 towrite 10000 write 10000 towrite 10000 write 552 问题出在最后一条请求,在此请求的prewrite历程中,发现文件写入长度是0x10000,而在postwrite历程中,返回的status.information只有0x552。在write之前,filespy显示系统并无任何query和setinformation信息,请问下层驱动如何知道文件尾写入数据长度只有552而不是10000? |
|
沙发#
发布于:2008-11-28 16:48
引用第1楼dionysus77于2008-05-16 10:12发表的 : EOF 更新不通过Setinformation 那通过什么? |
|
板凳#
发布于:2008-11-20 17:44
感谢分享
|
|
地板#
发布于:2008-11-18 13:02
路过……学习……
|
|
|
地下室#
发布于:2008-05-16 10:12
问题已解决。原来缓冲方式写入数据超过文件长度时,EOF更新不通过SetInformation例程。而paging IO的写操作不会更新EOF,必须自己SetInformation设置,否则超过文件原长度的数据将无法写入。
|
|