阅读:1160回复:1
各位大拿帮忙看看是什么原因?
在使用fltmc unload filter的时候出现异常,现象是该命令启动后不退出,用windbg跟了一下,发现是在过滤器卸载的时候调用了FltUnregisterFilter(),这个函数没有返回。但是这个函数的参数是没有问题的,跟过滤器注册时的值一样。虽然函数不返回,但是虚拟机的工作还是正常的,除了那个运行unload命令没有退出的DOS窗口。
请问有哪些可能会导致函数不返回? 以下是驱动卸载例程: NTSTATUS FilterUnload ( __in FLT_FILTER_UNLOAD_FLAGS Flags ) { PAGED_CODE(); UNREFERENCED_PARAMETER( Flags ); // // Unregister from FLT mgr // FltUnregisterFilter( gFilterHandle ); // // Delete lookaside list // ExDeleteNPagedLookasideList( &Pre2PostContextList ); return STATUS_SUCCESS; } |
|
沙发#
发布于:2009-04-01 16:16
原因找到了,在DriverEntry中创建了通信端口没有关闭。
|
|