《Windows内核安全与驱动编程》-第十一章文件系统的过滤与监控-day2

文件系统的过滤与监控

文件系统的分发函数

11.2.1 普通的分发函数

​ 上一节仅仅生成了控制设备,开发文件过滤驱动的主要工作还是撰写分发函数。在 DriverEntry 函数代码中,DriverObject 是参数驱动对象指针,现在来指定几个分发函数。SfPassThrough 负责所有不需要的处理,直接下发到下层驱动的IRP。

for(i=0;i<IRP_MJ_MAXIMUM_FUNCTION;i++)
	DriverObject->MajorFunction[i] = SfPassThrough;

​ 作为过滤,一些特殊的分发函数必须特殊处理。为此,给这些特殊的请求单独的分发函数,主要包括打开请求(IRP_MJ_CREATE,但本章中暴扣另外两种主功能号; IRP_MJ_CREATE_NAMED_PIPEIRP_MJ_CREATE_MALSLOT) 、文件系统控制请求(这种控制请求仅在本章出现,主功能号为 IRP_MJ_FILE_SYSTEM_CONTROL)、清理请求(IRP_MJ_CLEANUP)和关闭请求(IRP_MJ_CLOSE),这些IRP对文件系统来说都很关键。

 DriverObject->MajorFunction[IRP_MJ_CREATE] = SfCreate;
    DriverObject->MajorFunction[IRP_MJ_CREATE_NAMED_PIPE] = SfCreate;
    DriverObject
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值