<Skip>
1. Взять за основу WDM фильтр, потому что то что вы привели это похоже на legacy. Примеров таких пустых заглушек в инете и DDK полно.
2. WDM филтр не загружается по команде StartServer — т.к. он WDM — он автоматически будет включен в USB stack и загружен в момент подключения физического USB устройства.
3. Для того чтобы перехватывать все данные с флешки нужен не upper фильтр для usb-hub, а lower-filter для ubsstor.sys