编写 FilterUnloadCallback 例程

FilterUnloadCallback 例程的定义如下:

typedef NTSTATUS
(*PFLT_FILTER_UNLOAD_CALLBACK) (
    FLT_FILTER_UNLOAD_FLAGS Flags
    );

FilterUnloadCallback 例程有一个输入参数 Flags,该参数可以是 NULL,也可以FLTFL_FILTER_UNLOAD_MANDATORY。 筛选器管理器将此参数FLTFL_FILTER_UNLOAD_MANDATORY以指示卸载操作是必需的。 有关此参数的信息 ,请参阅PFLT_FILTER_UNLOAD_CALLBACK

微筛选器驱动程序的 FilterUnloadCallback 例程必须执行以下步骤:

  • 关闭任何打开的内核模式通信服务器端口句柄。

  • 调用 FltUnregisterFilter 以取消注册微筛选器驱动程序。

  • 执行任何所需的全局清理。

  • 返回适当的 NTSTATUS 值。

本节包括:

关闭通信服务器端口

取消注册微筛选器

执行全局清理

从 FilterUnloadCallback 例程返回状态