Here’s a little tidbit that may or may not apply in your situation.
If you are creating new contexts in your pre- and/or post-CREATE processing,
you should be checking for FLTFL_POST_OPERATION_DRAINING in you post-CREATE
handler and dump any pre-CREATE contexts allocated and return
FLT_POSTOP_FINISHED_PROCESSING without creating any new STREAM contexts.
The reason I mention pre-CREATE contexts is that in my driver, I allocate a
STREAMHANDLE context in pre-CREATE and pass it forward to my post-CREATE
handler. Under normal circumstances, I’d eventually call
FltSetStreamHandleContext() in my post handler except when I see
FLTFL_POST_OPERATION_DRAINING. This avoids any filter unload races with the
creation of new contexts.
I’m sure there are other strategies to avoiding this race.
HTH, /ted
-----Original Message-----
From: Mark Hahn [mailto:xxxxx@hahnca.com]
Sent: Wednesday, June 01, 2005 4:08 PM
To: Windows File Systems Devs Interest List
Subject: Re:[ntfsd] what problems stop mini-filter unregister from
completing?
I found this list that Ken Cross provided a few months ago. Can anyone
think of anything else?
FltAllocateContext
FltGetFileNameInformation
FltGetDestinationFileNameInformation
FltGetDiskDeviceObject
FltGetDeviceObject
“Mark Hahn” wrote in message news:xxxxx@ntfsd…
> My mini-filter’s call to FltUnregisterFilter doesn’t complete. I
> assume
> this is because I am not freeing some resource.
>
> I put in debug statements and every single call to FltAllocateContext
> is
> matched by a callback to a cleanup routine, yet a few of my context
> records show up as still allocated in !poolused. I assume that the filter
> manager has just not gotten around to freeing them. These are the only
> tagged allocations remaining and I use only tagged allocations, so I am
> confident I’m not causing any pool leaks.
>
> So what other than pool allocations can cause the unregister to hang?
> Is
> there a list somewhere of things that can cause this?
>
>
—
Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17
You are currently subscribed to ntfsd as: xxxxx@livevault.com To unsubscribe
send a blank email to xxxxx@lists.osr.com