首页
社区
课程
招聘
[旧帖] [求助]对驱动程序中Dispatch函数的理解 0.00雪花
发表于: 2007-11-29 16:46 3891

[旧帖] [求助]对驱动程序中Dispatch函数的理解 0.00雪花

2007-11-29 16:46
3891
在Sfilter中默认的分派函数是DriverObject->MajorFunction[i]=SfPassThrough,SfPassThrough函数的定义如下:
NTSTATUS
SfPassThrough (
    IN PDEVICE_OBJECT DeviceObject,
    IN PIRP Irp
    );

  其中的DeviceObject对象有时候是控制设备对象,有时候是过滤设备对象,我对这个总是不很理解,今天突然觉得想明白了,不知道对不对。。。

  如果是Win32应用程序发送的IRP访问本驱动程序,那这个默认的分派函数中的DeviceObject应该是指的控制设备对象,因为Win32程序通过注册的设备接口访问设备,那个符号链接名的实际指向就是DriverEntry函数中的命名的控制设备对象。

  如果是发送给文件系统的IRP被Sfilter拦截的话,那这个DeviceObject应该是过滤设备对象,因为Sfilter创建了一个过滤设备对象来绑定到文件系统上,截获所有发送给文件系统的IRP。

  这是我今天突然理解到的,我不知道理解的对不对,请大家帮我看看,给我点建议或我哪理解有误的地方。

  还有初学者理解点东西不容易,您觉得太简单不愿回答就当看个乐儿吧。

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回