编写 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 例程返回状态