kbfiltr example in ddk doesn't work?
I have been using a modified version of the kbfiltr DDK example that I have been using to route data from a HID keyboard MSR up to user level for an OPOS "driver" for some time now on Win2k and XP.
It works on 2k and XP but becuase I use IOCTLs it won't run on Vista. As I inderstand, IOCTLs are no longer allowed between user space and kernel space any more? Installing it, Vista claims that the driver is not compatible with Vista, I believe this is the reason, but anyway...
So I am starting over with the WinSDK/DDK sample "kmdf/kbfiler" This contains an alternate method of user level communication. However, after building the .sys file and the test program, then installing the filter driver on the MSR device, both the regular keyboard and the MSR device (both USB HID KB devices) completely stop working. After swapping the regular keyboard to another USB port so I can use the computer once again I check the registry which shows entries for the installation of the filter driver properly on the MSR "KB" device only as it should. The registry looks fine. So the install went fine except that the install (using the kbfilter supplied inf file) apparently installs SOMETHING wrong or something new that does not work.
Running the "kbftest.exe" program (also in the kmdf/kbfilter sample) says that there are "No device interfaces present". The kbfiltr is supposed to just pass data along unchanged for the example and it is only supposed to affect the ONE KB you install it on and the kbftest program should find it. None of which is happening.
Has anyone done any work with keyboard filtering in Vista? Run into or solved these problems? It almost seems like there is something broken with this procedure currently (installing upper level filter drivers on a HID device).
Windows Vista RC1 + WinSDK(DDK) 5384

