; ; usbshare.inf - upper filter for USB devices ; ; Installs usbshare as an upper filter. Two ways to use it: ; ; 1. Per device: right-click the INF and Install, then use Device Manager ; to update the driver for the specific device. ; 2. Class-wide: add usbshare to the UpperFilters of the USB device class, ; which the ClassInstall32 section below does. That covers every USB ; device, which is convenient but means a bug affects everything - ; start per-device. ; [Version] Signature = "$WINDOWS NT$" Class = USBDevice ClassGuid = {88BAE032-5A81-49f0-BC3D-A4FF138216D6} Provider = %ManufacturerName% CatalogFile = usbshare.cat DriverVer = 01/01/2026,1.0.0.0 PnpLockdown = 1 [DestinationDirs] DefaultDestDir = 13 ; Driver Store [SourceDisksNames] 1 = %DiskName% [SourceDisksFiles] usbshare.sys = 1 [Manufacturer] %ManufacturerName% = Standard,NT$ARCH$.10.0...16299 ; Matching on the generic USB device ID keeps this installable on anything. ; Narrow it to USB\VID_xxxx&PID_yyyy for a single device. [Standard.NT$ARCH$.10.0...16299] %DeviceName% = UsbShare_Install, USB\UNKNOWN [UsbShare_Install.NT] CopyFiles = UsbShare_CopyFiles [UsbShare_Install.NT.HW] AddReg = UsbShare_AddReg [UsbShare_CopyFiles] usbshare.sys ; Registering as an UpperFilter is what places this driver above the class ; driver in the stack, which is the whole point: the class driver keeps ; working and we only step in when a client claims the device. [UsbShare_AddReg] HKR,,"UpperFilters",0x00010000,"usbshare" [UsbShare_Install.NT.Services] AddService = usbshare,,UsbShare_Service [UsbShare_Service] DisplayName = %ServiceName% ServiceType = 1 ; SERVICE_KERNEL_DRIVER StartType = 3 ; SERVICE_DEMAND_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %13%\usbshare.sys [Strings] ManufacturerName = "usb-server" DiskName = "usbshare Installation Disk" DeviceName = "USB Share Filter" ServiceName = "usbshare USB filter driver"