Q:

Monitoring Application/Driver Interactions in Windows

I'd like to know if there is a way to monitor the interactions between an application and a driver?  The scenario for me is that I am having an occasional problem when reading and writing to a USB printer using libusbdotnet.  The normal application reads and writes to the USB printer driver directly.  I would like to monitor what it is doing to see if there is something special that it is doing to control the printer.  I have looked around and haven't found a good way to do this.
Thanks

A:

As far as I know, there is no out-of-the-box tool that does this (mainly because there is a variety of driver types, each type must comply to a different OS-defined interface). You need a SW component that will sit between your application and your driver and intercept the interactions. This is usually achievable by creating a filter driver (preferably in User space, since it simplifies the development and usage). See here for more details: http://msdn.microsoft.com/en-us/library/windows/hardware/gg463453.aspx

