Hello,
I have some questions regarding filter drivers.
- Is all that is required to “install” a filter driver a registry entry in the
\HKLM\SYSTEM\CCS\Enum<class><vid-pid><instance>
that is a REG_MULTI_SZ type either named “UpperFilters” or “LowerFilters”?
Are there any other registry entries that are required?
2. What is the difference in the sequence of actions/events between “UpperFilters”
and “LowerFilters”?
3. I am attempting to write a simple lower device filter driver for a custom USB HID Device.
From all of the examples I have seen the DriverEntry does not create a DeviceObject.
The DriverUnload, AddDevice, and all of the IRP functions are filled in and that is about
it. As I understand it, the DeviceObject for the filter is created in the AddDevice. Am I
missing something here? For some reason when I plug in my USB HID device my filter
is loaded and then promptly unloaded. DriverEntry is called and then shortly thereafter
DriverUnload. Is this typical of some defect in filter drivers?
4. Is there some resource (book, webpage, etc) that gives a very thorough treament of
filter driver development?
Thanks,
Trey