CmRegisterCallbackEx only for minifilters ?

Hi, I’m looking into the new CmRegisterCallbackEx routine and it requires a
parameter Altitude which says "A pointer to a UNICODE_STRING structure. This
structure must contain a string that represents the altitude of the calling
minifilter driver. "

Then the documentation talks about minifilter altitudes in a way which
suggests that this routine can only be called from a minifilter. The
question is, can this only be called from a minifilter or can normal drivers
also call this routine ?

If the answer is yes, then my next question is what objections are there
using the minifilter model for general purpose drivers which do not do
anything related to file systems. I personally like this model very much in
particular I like the way it communicates with user mode without having to
fool around with the service control manager.

Thanks,

/Daniel

“Daniel Terhell” wrote in message
news:xxxxx@ntfsd…
> Hi, I’m looking into the new CmRegisterCallbackEx routine and it requires
> a parameter Altitude which says "A pointer to a UNICODE_STRING structure.
> This structure must contain a string that represents the altitude of the
> calling minifilter driver. "
>
> Then the documentation talks about minifilter altitudes in a way which
> suggests that this routine can only be called from a minifilter. The
> question is, can this only be called from a minifilter or can normal
> drivers also call this routine ?
>
Interesting catch, I hadn’t looked at the CmRegisterCallbackEx, before your
post but I hope like heck it does not require a mini-filter. I’ve used
CmRegisterCallback a few of times, and none of them involved file system
filtering at all! Hopefully the goal here was to order the callbacks and
nothing more, or this is truly a case of Microsoft not understanding what
people do with the API.


Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
http://www.windrvr.com
Remove StopSpam from the email to reply

Daniel

You have here no more than the new improved for vista registry callback
model borrowing concepts and lexicon from the file system mini-filter model.

Your driver that uses CmRegisterCallback[Ex] doesnt have to be a minifilter
but it can be a minifilter. I’d wonder a bit about a driver which is a
mini-filter but doesnt attach to volumes.

I assume you have not started to think about TxR so far :wink:

Cheers
Lyndon

“Daniel Terhell” wrote in message
news:xxxxx@ntfsd…
> Hi, I’m looking into the new CmRegisterCallbackEx routine and it requires
> a parameter Altitude which says "A pointer to a UNICODE_STRING structure.
> This structure must contain a string that represents the altitude of the
> calling minifilter driver. "
>
> Then the documentation talks about minifilter altitudes in a way which
> suggests that this routine can only be called from a minifilter. The
> question is, can this only be called from a minifilter or can normal
> drivers also call this routine ?
>
> If the answer is yes, then my next question is what objections are there
> using the minifilter model for general purpose drivers which do not do
> anything related to file systems. I personally like this model very much
> in particular I like the way it communicates with user mode without having
> to fool around with the service control manager.
>
> Thanks,
>
> /Daniel
>
>