test001
驱动小牛
驱动小牛
  • 注册日期2006-11-12
  • 最后登录2008-11-07
  • 粉丝0
  • 关注0
  • 积分990分
  • 威望170点
  • 贡献值0点
  • 好评度169点
  • 原创分0分
  • 专家分0分
阅读:1197回复:3

请教获取文件名的?

楼主#
更多 发布于:2007-10-18 17:30
我在2000下,ifs的版本是3790,代码是在sfilter的基础上加的,在sfcreate中想获取文件名,代码如下:
irpSp = IoGetCurrentIrpStackLocation( Irp );
name = SfGetFileName( irpSp->FileObject, Irp->IoStatus.Status, &nameControl );
DbgPrint("The file name is: %wZ\n", name);

可是用debugview查看的时候,老是显示\\device\\cdrom0?
不知道是什么原因?请教各位!!!

另外想问一个问题,什么XP下的驱动在2000下却用不了?

多谢!!!
wisebo
驱动小牛
驱动小牛
  • 注册日期2006-04-13
  • 最后登录2012-07-18
  • 粉丝0
  • 关注1
  • 积分825分
  • 威望218点
  • 贡献值0点
  • 好评度80点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-10-18 18:50
在sfcreate中使用SfGetFileName,只能得到\\device\\cdrom0类似的,应该在sfcreate的完成例程中使用SfGetFileName,就可以得到完整的文件名了;
在sfcreate中,FileObject->FileName就是相对的文件名
I love niu
test001
驱动小牛
驱动小牛
  • 注册日期2006-11-12
  • 最后登录2008-11-07
  • 粉丝0
  • 关注0
  • 积分990分
  • 威望170点
  • 贡献值0点
  • 好评度169点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-10-19 07:58
多谢!
我马上去试试!
test001
驱动小牛
驱动小牛
  • 注册日期2006-11-12
  • 最后登录2008-11-07
  • 粉丝0
  • 关注0
  • 积分990分
  • 威望170点
  • 贡献值0点
  • 好评度169点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-10-19 14:53
我把SfGetFileName放在sfcreate的完成例程中,得到的文件名还只是\\device\\cdrom0,难道是我的sfilter的版本不对?
那位大牛能提供一个能在2000下用的版本?
游客

返回顶部