jjmjack
驱动牛犊
驱动牛犊
  • 注册日期2007-01-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分130分
  • 威望14点
  • 贡献值0点
  • 好评度13点
  • 原创分0分
  • 专家分0分
阅读:1863回复:11

[求助]文件过滤驱动在xp以下操作系统和vista操作系统的不同动作

楼主#
更多 发布于:2008-01-22 18:06
各位,我们公司正在做驱动程序的移植,现在遇到一个问题。
在写文件的之前,要取得文件的实际大小以对文件内容进行加密,但是出现了下面的情况,大家帮忙分析一下怎么回事。
在Vista操作系统下,我们传入一个IRP,之后进行以下操作,以取得源文件的大小。
PIO_STACK_LOCATION pstuCurrentIrpStack = IoGetCurrentIrpStackLocation(pstuIrp);

在XP以下的操作系统中,
pstuCurrentIrpStack->Parameters.Write.Length = 203(正确大小515byte)

但是在Vista操作系统下,
pstuCurrentIrpStack->Parameters.Write.Length = 400(错误大小1024byte)

Vista下怎么操作能取得文件正确的大小,请各位指导一下,小弟在此谢过了

killvxk
论坛版主
论坛版主
  • 注册日期2005-10-03
  • 最后登录2014-04-14
  • 粉丝3
  • 关注1
  • 积分1082分
  • 威望2003点
  • 贡献值0点
  • 好评度1693点
  • 原创分2分
  • 专家分0分
沙发#
发布于:2008-01-23 01:55
被FtlMgr忽悠了?
~~~
没有战争就没有进步 X3工作组 为您提供最好的军火
jjmjack
驱动牛犊
驱动牛犊
  • 注册日期2007-01-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分130分
  • 威望14点
  • 贡献值0点
  • 好评度13点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-01-23 10:04
各位大虾帮帮忙啊!实在是被难住了!
secinfo_driver
驱动牛犊
驱动牛犊
  • 注册日期2008-01-16
  • 最后登录2008-04-09
  • 粉丝0
  • 关注0
  • 积分70分
  • 威望8点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-01-23 13:14
FtlMgr是什么东西?
jjmjack
驱动牛犊
驱动牛犊
  • 注册日期2007-01-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分130分
  • 威望14点
  • 贡献值0点
  • 好评度13点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2008-01-23 15:32
晕死!牛人来帮帮忙啊!快被Vista搞死了!
killvxk
论坛版主
论坛版主
  • 注册日期2005-10-03
  • 最后登录2014-04-14
  • 粉丝3
  • 关注1
  • 积分1082分
  • 威望2003点
  • 贡献值0点
  • 好评度1693点
  • 原创分2分
  • 专家分0分
5楼#
发布于:2008-01-23 21:34
FltMgr,如果你的文件驱动挂在这玩意下面...
没有战争就没有进步 X3工作组 为您提供最好的军火
michaelgz
论坛版主
论坛版主
  • 注册日期2005-01-26
  • 最后登录2012-10-22
  • 粉丝1
  • 关注1
  • 积分150分
  • 威望1524点
  • 贡献值1点
  • 好评度213点
  • 原创分0分
  • 专家分2分
6楼#
发布于:2008-01-24 03:02
This is not Vista's problem. You cannot get file size from WRITE IRP. You'd better query FS to get it. Don't think this piece of code works on XP either.
killvxk
论坛版主
论坛版主
  • 注册日期2005-10-03
  • 最后登录2014-04-14
  • 粉丝3
  • 关注1
  • 积分1082分
  • 威望2003点
  • 贡献值0点
  • 好评度1693点
  • 原创分2分
  • 专家分0分
7楼#
发布于:2008-01-24 15:35
好像也能~反正我挂在iofcomXXX上~~
没有战争就没有进步 X3工作组 为您提供最好的军火
jjmjack
驱动牛犊
驱动牛犊
  • 注册日期2007-01-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分130分
  • 威望14点
  • 贡献值0点
  • 好评度13点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2008-01-24 18:14
不明白!各位能不能说的详细一些?
jjmjack
驱动牛犊
驱动牛犊
  • 注册日期2007-01-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分130分
  • 威望14点
  • 贡献值0点
  • 好评度13点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2008-01-24 18:17
引用第7楼killvxk于2008-01-24 15:35发表的  :
好像也能~反正我挂在iofcomXXX上~~


iofcom是个什么东东?
对了,忘了说了,我们的过滤驱动是API Hook做的。
cyliu
论坛版主
论坛版主
  • 注册日期2003-06-13
  • 最后登录2014-04-11
  • 粉丝5
  • 关注0
  • 积分1238分
  • 威望2531点
  • 贡献值0点
  • 好评度577点
  • 原创分14分
  • 专家分10分
10楼#
发布于:2008-01-24 20:55
引用第6楼michaelgz于2008-01-24 03:02发表的  :
This is not Vista's problem. You cannot get file size from WRITE IRP. You'd better query FS to get it. Don't think this piece of code works on XP either.



[b]cannot get file size from WRITE IRP

query FS to get it
走走看看开源好 Solaris vs Linux
killvxk
论坛版主
论坛版主
  • 注册日期2005-10-03
  • 最后登录2014-04-14
  • 粉丝3
  • 关注1
  • 积分1082分
  • 威望2003点
  • 贡献值0点
  • 好评度1693点
  • 原创分2分
  • 专家分0分
11楼#
发布于:2008-01-24 23:41
引用第9楼jjmjack于2008-01-24 18:17发表的  :


iofcom是个什么东东?
对了,忘了说了,我们的过滤驱动是API Hook做的。


IofCompleteRequest~~嘿嘿~~
还IopParasFileXXXX
不多说了~~
没有战争就没有进步 X3工作组 为您提供最好的军火
游客

返回顶部