jackywu2k
驱动牛犊
驱动牛犊
  • 注册日期2002-06-06
  • 最后登录2002-08-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1419回复:5

文件系统驱程的菜鸟问题,给分

楼主#
更多 发布于:2002-07-18 14:14
那位大虾知道2000下的文件系统过滤器驱动程序是否可在98下运行,如可行,需做那些改动?如不行,该如何写98下的版本?
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-07-19 08:43
一定不行。
98虽然也支持WDM,其实,它是通过一个VXD来模拟的WDM的行为。对于端口类、内存映射类驱程序,2K和98基本上是可以通用的,但是对于文件系统驱动程序来说,2K必须使用WDM(更准确地说应该是KMD),而98中则只能使用VXD,通过 文件钩子来实现。
Tom_lyd
zdhe
驱动太牛
驱动太牛
  • 注册日期2001-12-26
  • 最后登录2018-06-02
  • 粉丝0
  • 关注0
  • 积分72362分
  • 威望362260点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2002-07-19 01:15
98对wdm的支持非常有些。大多数函数都没有有效实装。

比如iocreatenotifiyevent, 虽然你可以编译连接成功,但是设备加载时,设备无效。

去看一下walter oney的那本书[program wdm?]。里面说得很明白。
而且,他还提供了一个有限解决方案。


horsedo
驱动小牛
驱动小牛
  • 注册日期2001-11-29
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2002-07-18 19:56
未必,其实98也开始支持WDM的方式,你需要看看98的DDK, 只要看看
有没有IoAttachDeviceToDeviceStack, 或是IoAttachDeviceByPointer。就可以了。

我是看过一个说法就是9X下的文件系统驱动只能是VXD的
具体什么原因我也不明白
而且98下对文件系统进行过滤的做法现在好像都是文件钩子了
objectx
驱动牛犊
驱动牛犊
  • 注册日期2002-03-15
  • 最后登录2005-06-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-07-18 17:26
未必,其实98也开始支持WDM的方式,你需要看看98的DDK, 只要看看
有没有IoAttachDeviceToDeviceStack, 或是IoAttachDeviceByPointer。就可以了。
horsedo
驱动小牛
驱动小牛
  • 注册日期2001-11-29
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2002-07-18 14:46
当然不可用,98下起到相类似作用的是文件钩子IFSMgr_InstallFileSystemApiHook
安装钩子函数,你可以看看 filemon 代码
游客

返回顶部