注册微筛选器驱动程序

每个微筛选器驱动程序必须从其 DriverEntry 例程调用 FltRegisterFilter,以将自身添加到已注册的微筛选器驱动程序的全局列表中,并为筛选器管理器提供回调例程列表和有关驱动程序的其他信息。

在 MiniSpy 示例中,将注册微筛选器驱动程序,如以下代码示例所示:

NTSTATUS status;
status = FltRegisterFilter(
           DriverObject,                  //Driver
           &FilterRegistration,           //Registration
           &MiniSpyData.FilterHandle);    //RetFilter

FltRegisterFilter 有两个输入参数。 第一 个驱动程序是微型筛选器驱动程序作为 DriverEntry 例程的 DriverObject 输入参数接收的 驱动程序 对象指针。 第二个 注册是指向 FLT_REGISTRATION 结构的指针,该结构包含微筛选器驱动程序的回调例程的入口点。

此外, FltRegisterFilter 有一个输出参数 RetFilter,用于接收微筛选器驱动程序的不透明筛选器指针。 此筛选器指针是许多 FltXxx 支持例程(包括 FltStartFilteringFltUnregisterFilter)的必需输入参数。