Writing a FilterUnloadCallback Routine 写一个FilterUnloadCallback 例程

FilterUnloadCallback 例程被定义成:

typedef NTSTATUS
(*PFLT_FILTER_UNLOAD_CALLBACK) (
    FLT_FILTER_UNLOAD_FLAGS Flags
    );

 

FilterUnloadCallback 例程有一个输入参数,Flags,它可以是NULL或FLTFL_FILTER_UNLOAD_MANDATORY,FLTFL_FILTER_UNLOAD_MANDATORY指明卸载操作是托管的。

一个微过滤驱动的 FilterUnloadCallback 例程必须执行以下步骤:

1.关门所有内核模式通信服务端口句柄(kernel-mode communication server port handles)

2.调用FltUnregisterFilter 移除注册微过滤驱动

3.执行清理全局变量

4.返回一个正确的状态值

 

这部分包括:

关闭通信服务端口

移除注册微过滤

执行全局变量清除

返回状态从FilterUnloadCallback 例程

 

posted @ 2011-01-10 14:46  UnhandleException  阅读(332)  评论(0编辑  收藏  举报