; Copyright (c) Microsoft Corporation. All rights reserved.
;
; dc1-controller.INF file
;
; Installs the Xbox One Controller for Windows driver stack
;

[Version]
Signature="$WINDOWS NT$"
Class=XboxComposite
ClassGuid={05F5CFE2-4733-4950-A6BB-07AAD01A3A84}
Provider=%ProviderName%
PnpLockdown=1
DriverVer = 10/18/2023,10.0.22621.2506

; ================= Class section =====================

[ClassInstall32]
Addreg=XboxCompositeReg     

[XboxCompositeReg]
HKR,,,0,%ClassName%
HKR,,Icon,,"-24"

; ================= Device section =====================

[Manufacturer]
%ProviderName%=Microsoft,NTamd64

[Microsoft.NTamd64]
%USB\VID_045E&PID_02D1.DeviceDesc%=XboxOneController, USB\VID_045E&PID_02D1
%USB\VID_045E&PID_02D2.DeviceDesc%=XboxOneController, USB\VID_045E&PID_02D2
%USB\VID_045E&PID_02DD.DeviceDesc%=XboxOneController, USB\VID_045E&PID_02DD
%USB\VID_045E&PID_02E3.DeviceDesc%=XboxOneController, USB\VID_045E&PID_02E3
%USB\VID_045E&PID_02EA.DeviceDesc%=XboxOneController, USB\VID_045E&PID_02EA
%USB\VID_045E&PID_0B00.DeviceDesc%=XboxOneController, USB\VID_045E&PID_0B00
%USB\VID_045E&PID_0B06.DeviceDesc%=XboxOneController, USB\VID_045E&PID_0B06
%USB\VID_045E&PID_0B0A.DeviceDesc%=XboxOneController, USB\VID_045E&PID_0B0A
%USB\VID_045E&PID_0B12.DeviceDesc%=XboxOneController, USB\VID_045E&PID_0B12
%USB\MS_COMP_XGIP10.DeviceDesc%=XboxOneController, USB\MS_COMP_XGIP10

[XboxOneController]
Include=xboxgip.inf
Needs=Install
CopyFiles=XboxOneController.CopyFiles
AddReg=XboxOneController.AddReg

[XboxOneController.CopyFiles]
dc1-controller.sys

[XboxOneController.HW]
AddReg                          = PnPFilterRegistration

[PnPFilterRegistration]
HKR,,"UpperFilters",0x00010000,"xboxgip"

[XboxOneController.AddReg]
;HKR,,"ConfigFlags", 0x00010001, 1

[XboxOneController.Services]
Include=xboxgip.inf
Needs=Install.Services
AddService=dc1-controller,0x00000002,XboxOneControllerService

[XboxOneControllerService]
DisplayName    = %dc1-controller.SvcDesc%
ServiceType    = 1 ; SERVICE_KERNEL_DRIVER
StartType      = 3 ; SERVICE_DEMAND_START
ErrorControl   = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\dc1-controller.sys
AddReg         = XboxOneController.AddReg
LoadOrderGroup = Base


[XboxOneController.CoInstallers]
AddReg=XboxOneController_CoInstaller_AddReg
CopyFiles=XboxOneController_CoInstaller_CopyFiles

[XboxOneController_CoInstaller_AddReg]
;HKR,,CoInstallers32,0x00010000, "WdfCoInstaller01011.dll,WdfCoInstaller"

[XboxOneController_CoInstaller_CopyFiles]
;WdfCoInstaller01011.dll

[XboxOneController.Wdf]
KmdfService=dc1-controller,XboxOneController_WdfSect

[XboxOneController_WdfSect]
KmdfLibraryVersion=1.11

;**********************************************************************
; Destination directories
;**********************************************************************
[DestinationDirs]
XboxOneController.CopyFiles = 12
XboxOneController.CoInstaller.CopyFiles = 11

[SourceDisksNames]
1=%Disk_Description%,,

[SourceDisksFiles]
dc1-controller.sys = 1
;WdfCoInstaller01011.dll = 1

[ControlFlags]
ExcludeFromSelect=*

;---------------------------------------------------------------;

[Strings]
ProviderName                     = "Microsoft"
ClassName                        = "Xbox Peripherals"
Disk_Description                 = "Xbox Peripherals Installation Disk"
dc1-controller.SvcDesc           = "Xbox Peripherals Driver"
USB\VID_045E&PID_02D1.DeviceDesc = "Xbox One Controller"
USB\VID_045E&PID_02D2.DeviceDesc = "Xbox One Controller DFU"
USB\VID_045E&PID_02DD.DeviceDesc = "Xbox One Controller"
USB\VID_045E&PID_02E3.DeviceDesc = "Xbox One Elite Controller"
USB\VID_045E&PID_02EA.DeviceDesc = "Xbox One Controller"
USB\VID_045E&PID_0B00.DeviceDesc = "Xbox One Controller"
USB\VID_045E&PID_0B06.DeviceDesc = "Xbox One Controller"
USB\VID_045E&PID_0B0A.DeviceDesc = "Xbox Adaptive Controller"
USB\VID_045E&PID_0B12.DeviceDesc = "Xbox Controller"
USB\MS_COMP_XGIP10.DeviceDesc    = "Xbox Gaming Device"
XBOXGIP_Desc                     = "Xbox Game Input Protocol Driver"
