Re: controlling a filter driver

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance




Don Burn wrote:
They are essentially the same, Walter called it an EDO, almost everyone else
calls it a CDO.


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



"Ali" <abdulrazaq@xxxxxxxxx> wrote in message
news:1152541312.223403.124030@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Cao.Andy@xxxxxxxxx wrote:
IoRegisterDeviceInterface
see this article in detail
http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q262305

seefdogg@xxxxxxxxx wrote:
I have a filter driver for the \Device\KeyboardClass0 device that is
intercepting keystrokes. I want to be able to control the behavior of
this driver from userland (CreateFile, DeviceIoControl, etc.), but I
cannot find a way to associate a name with my filter driver
(IoCreateDevice fails with a name)

Does anyone have any suggestions?

yermak


Folks!

Problem described by OP looks same to the idea discussed here
[http://www.wd-3.com/archive/SerialFilter.htm ] by Walter. But after
following the link
[http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q262305 ]
provided by Coa.Andy (Andy thanks for that) , to me the problem is
almost the same then why there are really tow different solutions for
that.
Like walter wants to create a so called Extra" Device Object (EDO) that
hangs off to the side of the PnP stack. So that application will talk
to it instead of the real COM port. He is gonna tie the EDO and the
FiDO together by means of pointers in the device extension structures.

Where as MS guy wants to create another standalone named controlobject
and a symbolic link so that app can can open the symbolic link and send
IOCTLs to the filter. Article explains that I/O requests are sent
directly to the control deviceobject instead of going through the
entire stack, irrespective of where the filter driver is located in the
stack.

Now both sound the same but there is a bit confusion though Walter
hasn't presented any implementation so it might be possible that it
would be the same!
Any how I'm curious to know that is it that different? or just
different ways to express the same problem.


ali


So the bottom line is that make a dummy interface and just deal with
interested IRPs and let the rest of the IRPs slip down to the stack.
Isn't that?

ali

.



Relevant Pages

  • Re: How do you make a WDF driver create .Raw & .Translated resourc
    ... Don Burn (MVP, Windows DDK) ... Windows 2k/XP/2k3 Filesystem and Driver Consulting ... provide you with the resources. ...
    (microsoft.public.development.device.drivers)
  • Re: Help - inline assembly in driver code
    ... Don Burn (MVP, Windows DDK) ... Windows 2k/XP/2k3 Filesystem and Driver Consulting ... course you realize that inline assembler only works on 32-bit and so ...
    (microsoft.public.win32.programmer.kernel)
  • Re: How to verify a user space pointer passed to kernel driver?
    ... ProbeForRead/Write does not protect the driver, it just causes crashes since 99% of the users do not understand that, the second after you probe the user can free the memory. ... Don Burn (MVP, Windows DDK) ...
    (microsoft.public.development.device.drivers)
  • Re: controlling a filter driver
    ... Don Burn (MVP, Windows DDK) ... Windows 2k/XP/2k3 Filesystem and Driver Consulting ... interested IRPs and let the rest of the IRPs slip down to the stack. ...
    (microsoft.public.development.device.drivers)
  • Re: Can kernel mode call Win32 API ?
    ... very similar to the Win32 functions. ... Don Burn (MVP, Windows DDK) ... Windows 2k/XP/2k3 Filesystem and Driver Consulting ...
    (microsoft.public.development.device.drivers)