Listing 1 USB filter driver example
; This .INF file demonstrates how to install a filter driver ; for a USB device. ; ; The lines marked with the comment "Filter driver install" ; identify those lines that were specifically added in order to install ; the upper filter driver onto the "driver stack" for this USB device ; ; If one were to remove these lines, what remains is the original ; .INF file to install just the one driver for the USB device. ; [Version] Signature="$WINDOWS NT$" Class=USB ClassGUID={36FC9E60-C465-11CF-8056-444553540000} [Manufacturer] %MfgName%=MyDriver [MyDriver] %USB\VID_07CC&PID_0003.DeviceDesc%=SESUSB.Dev, USB\VID_07CC&PID_0003 [DestinationDirs] SESUSB.Files.Ext = 10,System32\Drivers [SESUSB.Dev.NT] CopyFiles=SESUSB.Files.Ext [SESUSB.Files.Ext] SESUSB.SYS FILTER.SYS ; "Filter driver install" [SESUSB.Dev.NT.Services] Addservice = SESUSB, 0x00000002, SESUSB.AddService Addservice = FILTER, , SESFILTER.AddService ; "Filter driver install" [SESUSB.AddService] DisplayName = %SESUSB.SvcDesc% ServiceType = 1 ; SERVICE_KERNEL_DRIVER StartType = 3 ; SERVICE_DEMAND_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %12%\SESUSB.SYS LoadOrderGroup = Base [SESFILTER.AddService] ; "Filter driver install" DisplayName = %SESFILTER.SvcDesc% ; "Filter driver install" ServiceType = 1 ; "Filter driver install" StartType = 3 ; "Filter driver install" ErrorControl = 1 ; "Filter driver install" ServiceBinary = %12%\FILTER.SYS ; "Filter driver install" LoadOrderGroup = PnP Filter ; "Filter driver install" [SESUSB.Dev.NT.HW] ; "Filter driver install" Addreg=SESFILTER_Filter_Reg ; "Filter driver install" [SESFILTER_Filter_Reg] ; "Filter driver install" HKR,,"UpperFilters",0x00010000,"FILTER" ; "Filter driver install" [Strings] MfgName="Sample Driver" USB\VID_07CC&PID_0003.DeviceDesc="Sample USB device" SESUSB.SvcDesc="SESUSB.SYS Sample USB device driver" SESFILTER.SvcDesc="FILTER.SYS Upper filter driver" ; "Filter driver install"