Minifilter PRE_OP_CALLBACK未被调用

时间:2017-05-27 01:24:14

标签: c++ windows drivers

我正在尝试编写一个基本的minifilter驱动程序,并根据Minispy中的示例将以下内容放在一起(因为它是很多代码,我将链接到一个要点)

https://gist.github.com/anonymous/9dce7c550b028fa308a48d36c6098095

如果我使用WinDBG连接到内核,我可以看到DriverEntry被调用并且我的注册成功完成,如果我调用它,我也可以看到卸载发生。但是,当我打开/创建文件时,我从未看到我的PRE_OP_CALLBACK或我的POST_OP_CALLBACK被调用。我不确定我错过了什么。

2 个答案:

答案 0 :(得分:1)

我建议与正确使用的minispy样本进行比较 here

在DriverEntry中,它有一个注册...

    status = FltRegisterFilter( DriverObject,
                                &FilterRegistration,
                                &MiniSpyData.Filter );

以及

    status = FltStartFiltering( MiniSpyData.Filter );

答案 1 :(得分:0)

我实际上想出来了,它与我的INF文件有关。具体来说,以下一行:

Instance1.Flags         = 0x1          ; Suppress automatic attachments

删除该行或将其设置为0,允许它自动附加。出于我的目的,由于我想监视所有卷,我将其设置为0.在同一帐户中,minispy示例仅在Instance3标志上设置了0x1,因此这是有道理的。