Not to jump into the middle of the thread, but has anybody looked to see
if any of the structures pointed to by the FLT_CALLBACK_DATA structure
actually live in the IRP? If they were, you could probably get your
paws on the IRP using CONTAINING RECORD.
Alternately, I discovered as I was debugging something in a CSQ that the
FLT_CALLBACK_DATA_QUEUE_IO_CONTEXT is really just a typedef for a
IO_CSQ_IRP_CONTEXT. Which contains pointer to the irp. If you were
really desperate, you could probably write a dummy queue implementation
to get a pointer to the IRP.
Mind you, I’m not suggesting actually *doing* either of these. Neither
one seems like a good idea, but if you were feeling really adventureous,
it seems like a great possibility for spending a few weeks hunting down
bizarre bugs and generally making your life miserable. Also, both of
these are well into the realm of pulling back the opacity, and would
probably cease working on new versions of Windows anyway.
There you go, two stupid ideas for the price of one 
Of course, even if this would work, it still doesn’t solve the problem
of sending the IRP to the right place once you have it.
~Eric
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Don Burn
Sent: Monday, December 17, 2007 9:56 AM
To: Windows File Systems Devs Interest List
Subject: Re:[ntfsd] What are the limitations of Minifilter
Matthew,
You can build your IRP, but then you have to choose, send it to
all the filters in the stack by going to the top of the stack, or bypass
all the mini-filters below you since you cannot send it the next
mini-filter.
Either choice is full of problems, and can break things rather badly.
This is why if I had the chance to do it over again, I would go legacy
on my first filter, since in the end we decided that we would not
guarantee things work if a mini-filter was below us. On the second
mini-filter I did roll my own IRP’s but what I was filtering was PAGING,
adding any overhead here pains me greatly.
–
Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr
Remove StopSpam to reply
“MM” wrote in message news:xxxxx@ntfsd…
> Well damn, you got me there…
But as far as I know, you can
still
> build an IRP rather easily
> from the info in the callback’s data structure.
>
> I’ve never tried this, but I believe it’s possible. I wouldn’t throw
out
> all the advantages of a mini-filter
> just because a few things have to be done the old way. Combining
> technologies in my experience
> has always been a good thing.
>
> Since I’ve never tried this, what all issues are there (other than the
> legacy methods) to be considered
> here?
>
> Matthew
>
—
NTFSD is sponsored by OSR
For our schedule debugging and file system seminars
(including our new fs mini-filter seminar) visit:
http://www.osr.com/seminars
You are currently subscribed to ntfsd as: xxxxx@edsiohio.com
To unsubscribe send a blank email to xxxxx@lists.osr.com