; ; RioGamepad.inf — RIOJoy virtual HID gamepad (KMDF + VHF), root-enumerated. ; [Version] Signature = "$WINDOWS NT$" Class = System ClassGuid = {4d36e97d-e325-11ce-bfc1-08002be10318} Provider = %ManufacturerName% CatalogFile = RioGamepad.cat DriverVer = PnpLockdown = 1 [DestinationDirs] DefaultDestDir = 13 [SourceDisksNames] 1 = %DiskName% [SourceDisksFiles] RioGamepad.sys = 1 [Manufacturer] %ManufacturerName% = Standard,NT$ARCH$.10.0...16299 [Standard.NT$ARCH$.10.0...16299] %DeviceName% = RioGamepad_Device, root\RioGamepad [RioGamepad_Device.NT] CopyFiles = RioGamepad_CopyFiles [RioGamepad_CopyFiles] RioGamepad.sys ; VHF (vhf.sys) must sit beneath this FDO as a lower filter, otherwise ; VhfCreate fails in EvtDeviceAdd with STATUS_INVALID_DEVICE_REQUEST ; (0xC0000010) and the device shows Code 31 (CM_PROB_FAILED_ADD). [RioGamepad_Device.NT.HW] AddReg = RioGamepad_Device.NT.AddReg [RioGamepad_Device.NT.AddReg] HKR,, "LowerFilters", 0x00010000, "vhf" [RioGamepad_Device.NT.Services] AddService = RioGamepad, 0x00000002, RioGamepad_Service [RioGamepad_Service] DisplayName = %ServiceName% ServiceType = 1 ; SERVICE_KERNEL_DRIVER StartType = 3 ; SERVICE_DEMAND_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %13%\RioGamepad.sys [RioGamepad_Device.NT.Wdf] KmdfService = RioGamepad, RioGamepad_wdfsect [RioGamepad_wdfsect] KmdfLibraryVersion = 1.15 [Strings] ManufacturerName = "VWE" DiskName = "RioGamepad Installation Disk" DeviceName = "RIOJoy Virtual Gamepad" ServiceName = "RIOJoy Virtual Gamepad Service"