devia
论坛版主
论坛版主
  • 注册日期2005-05-14
  • 最后登录2016-04-05
  • 粉丝3
  • 关注0
  • 积分1029分
  • 威望712点
  • 贡献值1点
  • 好评度555点
  • 原创分8分
  • 专家分4分
阅读:10954回复:45

IRP文件操作接口的终极实现(代码+例子)

楼主#
更多 发布于:2008-03-29 11:13

     前段时间和驱网某个高人交流时都谈到了直接IRP操作文件的实现问题,其实对于大部分接口(诸如:
ZwReadFile、ZwWriteFile、ZwSetInformationFile、ZwDeleteFile等)在OSR上的“ Rolling Your Own - Building IRPs to Perform I/O ”一文中已经实现,但是那里面的实现还不够全。所以,我就翻出了前段时间在网上淘到的资料,特与大家共享!尤其值得注意的是,这里面还实现了ZwCreateFile接口!
 
    大家都知道使用IRP的好处就是:效率提高了,对中断级要求更宽了,还解决了常见的重入问题等等。 附件中一个是接口的实现代码,另外一个是应用实例。
附件名称/大小 下载次数 最后更新
Irp-Files.rar (144KB)  1311 2008-03-29 11:13

最新喜欢:

znsoftznsoft
人总在矛盾中徘徊。。。
devia
论坛版主
论坛版主
  • 注册日期2005-05-14
  • 最后登录2016-04-05
  • 粉丝3
  • 关注0
  • 积分1029分
  • 威望712点
  • 贡献值1点
  • 好评度555点
  • 原创分8分
  • 专家分4分
沙发#
发布于:2008-03-29 11:18
不过从这里面也可以感悟出几点:
1。我们费了九牛二虎之力所想要的,其实大部分都在Minifilter框架中实现;
2。从稳定性和兼容性方面来讲,Legacy型过滤驱动远远比Minifilter过滤驱动要做的事情多的多;
3。不过从灵活性方面来对比的话,Legacy型过滤驱动确实有它的优势;
人总在矛盾中徘徊。。。
devia
论坛版主
论坛版主
  • 注册日期2005-05-14
  • 最后登录2016-04-05
  • 粉丝3
  • 关注0
  • 积分1029分
  • 威望712点
  • 贡献值1点
  • 好评度555点
  • 原创分8分
  • 专家分4分
板凳#
发布于:2008-03-31 10:51
IoCreateFileSpecifyDeviceObjectHint对网络FS的支持还是有问题的。
并且对OS版本也有要求
http://support.microsoft.com/kb/322726
人总在矛盾中徘徊。。。
游客

返回顶部