; WinUsb.inf
; Microsoft Windows WinUsb Driver INF
; Copyright (c) Microsoft Corporation
;
;
; This inf file provides the install sections for WinUsb devices, as well as
; sections that can be included by external INFs which require the WinUsb driver.
;
; An external INF is expected to include the sections of this INF by adding
; Include/Needs directives for each possible [DDInstall.*] section to the
; corresponding sections as shown below.
;
; Note that an external INF using Include/Needs to reference this INF must have
; each of the specified DDInstall sections, and reference each of the WinUsb
; sections regardless of whether either INF currently specifies any directives
; for that section.  This allows future extensibility of the base inbox INF
; sections to apply to existing external drivers.
;
;
; [DDInstall]
; Include=WINUSB.inf
; Needs=WINUSB.NT
; ; also include any existing DDInstall directives
;
; [DDInstall.HW]
; Include=WINUSB.inf
; Needs=WINUSB.NT.HW
; ; also include any existing DDInstall.HW directives
;
; [DDInstall.Services]
; Include=WINUSB.inf
; Needs=WINUSB.NT.Services
; ; also include any existing any DDInstall.Services directives
;
; This INF also allows the usage of the WINUSB service as a lower filter driver.
; For this usage, follow the above pattern but use WINUSB_LowerFilter.NT.*
; instead of WINUSB.NT.*, replacing the name in all three above sections.
;
; When using WinUsb as a filter, the following pattern must also be included:
;
; [DDInstall.Filters]
; Include=WINUSB.inf
; Needs=WINUSB_LowerFilter.NT.Filters
;

[Version]
Signature   = "$Windows NT$"
Class       = USBDevice
ClassGuid   = {88BAE032-5A81-49f0-BC3D-A4FF138216D6}
Provider    = %MS%
PnpLockdown = 1
DriverVer = 06/21/2006,10.0.22621.2506

[SourceDisksNames]
3426 = windows cd

[SourceDisksFiles]
winusb.sys = 3426

[DestinationDirs]
WINUSB.CopyFiles = 12

[Manufacturer]
%Generic.Mfg% = Generic.Section,NTamd64

; =================== Generic ==================================

[Generic.Section.NTamd64]
%USB\MS_COMP_WINUSB.DeviceDesc% = WINUSB,USB\MS_COMP_WINUSB
%USB\MS_COMP_BILLBOARD.DeviceDesc% = BILLBOARD,USB\Class_11&SubClass_00&Prot_00
%USB\MS_COMP_ADB.DeviceDesc% = ADB,USB\Class_ff&SubClass_42&Prot_01
%Generic.Mfg% = WINUSB_LowerFilter ; Used by Include/Needs

[BILLBOARD.NT]
Needs = WINUSB.NT

[BILLBOARD.NT.HW]
AddReg = BILLBOARD.HW.AddReg

[BILLBOARD.HW.AddReg]
HKR,,"DeviceIdleEnabled",0x00010001,1
HKR,,"DeviceIdleIgnoreWakeEnable",0x00010001,1
HKR,,"DefaultIdleState",0x00010001,1
HKR,,"DevicePowerUpOnS0Entry",0x00010001,1

[BILLBOARD.NT.Services]
Needs = WINUSB.NT.Services

[ADB.NT]
Needs = WINUSB.NT

[ADB.NT.HW]
AddReg = ADB.HW.AddReg

[ADB.HW.AddReg]
HKR,,DeviceInterfaceGUIDs,0x10000,"{F72FE0D4-CBCB-407d-8814-9ED673D0DD6B}"

[ADB.NT.Services]
Needs = WINUSB.NT.Services

[WINUSB.NT]
CopyFiles = WINUSB.CopyFiles
AddReg = WINUSB.AddReg

[WINUSB.NT.HW]
; Keep empty section placeholder for Include/Needs

[WINUSB.NT.Services]
Addservice = WINUSB, 0x2, WINUSB.AddService

[WINUSB.AddService]
DisplayName    = %WINUSB_SvcName%
Description    = %WINUSB_SvcDesc%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3
ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\WinUSB.SYS

[WINUSB.CopyFiles]
winusb.sys,,,0x0100                 ; Microsoft Protected

[WINUSB.AddReg]
HKR,,DevLoader,,*ntkern             ; Must remain for compat reasons
HKR,,NTMPDriver,,winusb.sys         ; Must remain for compat reasons

[WINUSB_LowerFilter.NT]
CopyFiles = WINUSB.CopyFiles

[WINUSB_LowerFilter.NT.HW]
AddReg = WINUSB_Disable_PowerPolicy

[WINUSB_LowerFilter.NT.Filters]
AddFilter = WINUSB,,WINUSB_LowerFilterPosition

[WINUSB_LowerFilter.NT.Services]
AddService = WINUSB,0x0,WINUSB.AddService

[WINUSB_Disable_PowerPolicy]
HKR,,"WinUsbPowerPolicyOwnershipDisabled",0x00010001,1

[WINUSB_LowerFilterPosition]
FilterPosition=Lower

[Strings]
;
;Not localizable
MS="Microsoft"

;
;Localizable
;
WINUSB_SvcName="WinUsb Driver"
WINUSB_SvcDesc="Generic driver for USB devices"
Generic.Mfg="WinUsb Device"
USB\MS_COMP_WINUSB.DeviceDesc="WinUsb Device"
USB\MS_COMP_BILLBOARD.DeviceDesc="Billboard Device"
USB\MS_COMP_ADB.DeviceDesc="ADB Device"
