阅读:1830回复:10
请教高手,如果知道Write时的实际长度?
NotePad写文件时,先发一个IRP_WRITE_OPERATION+IRP_DEFER_IO_COMPLETION(0xA00)的IRP,可以取得写入的真实长度;如0x10,
然后发IRP_PAGING_IO+IRP_NOCACHE+IRP_SYNCHRONOUS_PAGING_IO(0x43)IRP将文件写入到硬盘,此时写入长度为0x1000(页对齐的),写完成后才得到真实写入的长度0x10。 系统在用0x43写文件时,是如何知道写入的是0x10?是否在IRP的某个参数中有定义? 恳请大虾高手指点一二。。。 |
|
沙发#
发布于:2007-06-11 16:33
请问具体是哪个结构?这个结构能读吗?
|
|
板凳#
发布于:2007-06-12 10:18
已经解决了。在osr上找到的答案。
|
|
地板#
发布于:2007-07-19 00:11
FCB->FileSize取得文件实际长度或有效长度,然后计算出实际写入的长度即可。
|
|