;
; WindowsSideShowEnhancedDriver.inf
;

[Version]
Signature   = "$Windows NT$"
ClassGuid   = {997B5D8D-C442-4F2E-BAF3-9C8E671E9E21}
Provider    = %Msft%
DriverVer=04/21/2009,6.1.7600.16385

; =================== Manufacturer/Models sections ===================

[Manufacturer]
%Msft%      = MicrosoftEnhancedDisplays,NTx86,NTia64,NTamd64

[MicrosoftEnhancedDisplays.NTx86]
%Simulator.DeviceDesc%              =Simulator_Install,UMB\WindowsSideShowSimulator
%USB\MS_COMP_SIDESHW.DeviceDesc%    =USB_Install,USB\MS_COMP_SIDESHW&MS_SUBCOMP_ENHV1

[MicrosoftEnhancedDisplays.NTia64]
%Simulator.DeviceDesc%              =Simulator_Install,UMB\WindowsSideShowSimulator
%USB\MS_COMP_SIDESHW.DeviceDesc%    =USB_Install,USB\MS_COMP_SIDESHW&MS_SUBCOMP_ENHV1

[MicrosoftEnhancedDisplays.NTamd64]
%Simulator.DeviceDesc%              =Simulator_Install,UMB\WindowsSideShowSimulator
%USB\MS_COMP_SIDESHW.DeviceDesc%    =USB_Install,USB\MS_COMP_SIDESHW&MS_SUBCOMP_ENHV1

; =================== Third-Party USB Install directives ==================

;;******************************************************************************
;; The following are to be used in vendor specific "Includes" and "Needs" sections.
;; Specifically, the INF should contain:
;;
;; [DDInstall]
;; Include = WindowsSideShowEnhancedDriver.inf, winusb.inf
;; Needs   = ThirdParty.USB_Install, WINUSB.NT
;;
;; [DDInstall.CoInstallers]
;; Include = WindowsSideShowEnhancedDriver.inf
;; Needs   = ThirdParty.USB_Install.CoInstallers
;;
;; [DDInstall.HW]
;; Include = WindowsSideShowEnhancedDriver.inf
;; Needs   = ThirdParty.USB_Install.HW
;;
;; [DDInstall.Services]
;; Include = WindowsSideShowEnhancedDriver.inf, winusb.inf
;; Needs   = ThirdParty.USB_Install.Services
;;
;; [DDInstall.Wdf]
;; Include = WindowsSideShowEnhancedDriver.inf
;; Needs   = ThirdParty.USB_Install.Wdf
;; UmdfServiceOrder = WindowsSideShowEnhancedDriver
;;
;;******************************************************************************

[ThirdParty.USB_Install]
CopyFiles   = UMDriverCopy
AddProperty = DriverPropertiesSection

[ThirdParty.USB_Install.CoInstallers]
AddReg      = WUDF_CoInstallers_AddReg

[ThirdParty.USB_Install.Wdf]
UmdfDispatcher = WinUSB
UmdfService = WindowsSideShowEnhancedDriver, WindowsSideShowEnhancedDriver_Install
UmdfImpersonationLevel = Impersonation

[ThirdParty.USB_Install.HW]
AddReg      = WINUSBTransport_AddReg

[ThirdParty.USB_Install.Services]
AddService  = WUDFRd, 0x000001fa, WUDFRD_ServiceInstall
AddService  = WinUsb, 0x000001f8, WINUSB.AddService

; =================== Enhanced Windows SideShow USB Install ===================

[USB_Install]
Include     = winusb.inf
Needs       = WINUSB.NT
CopyFiles   = UMDriverCopy
AddProperty = DriverPropertiesSection

[USB_Install.CoInstallers]
AddReg      = WUDF_CoInstallers_AddReg

[USB_Install.Wdf]
UmdfDispatcher = WinUSB
UmdfService = WindowsSideShowEnhancedDriver, WindowsSideShowEnhancedDriver_Install
UmdfServiceOrder = WindowsSideShowEnhancedDriver
UmdfImpersonationLevel = Impersonation

[USB_Install.HW]
AddReg      = WINUSBTransport_AddReg

[USB_Install.Services]
Include     = winusb.inf
AddService  = WUDFRd, 0x000001fa, WUDFRD_ServiceInstall
AddService  = WinUsb, 0x000001f8, WINUSB.AddService

[WINUSBTransport_AddReg]
HKR,,"LowerFilters",0x00010008,"WinUsb" ; FLG_ADDREG_TYPE_MULTI_SZ | FLG_ADDREG_APPEND
HKR,,"DeviceIdleEnabled",0x00010001,1
HKR,,"UserSetDeviceIdleEnabled",0x00010001,1
HKR,,"DefaultIdleState",0x00010001,1

; =================== Simulator for Windows SideShow Install ===================

[Simulator_Install]
CopyFiles   = UMDriverCopy
AddProperty = DriverPropertiesSection

[Simulator_Install.CoInstallers]
AddReg      = WUDF_CoInstallers_AddReg

[Simulator_Install.Wdf]
UmdfDispatcher = FileHandle
UmdfService = WindowsSideShowEnhancedDriver, WindowsSideShowEnhancedDriver_Install
UmdfServiceOrder = WindowsSideShowEnhancedDriver
UmdfImpersonationLevel = Impersonation

[Simulator_Install.HW]
AddReg      = PipeTransport_AddReg

[Simulator_Install.Services]
AddService  = WUDFRd, 0x000001fa, WUDFRD_ServiceInstall

[PipeTransport_AddReg]
HKR,"WindowsSideShowEnhancedDriver","Transport",0x00000000,"Pipe"

; =================== Driver Property section ===================

[DriverPropertiesSection]


; =================== UMDF Service Install section ===================

[WUDF_CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WUDFCoInstaller.dll"

[WindowsSideShowEnhancedDriver_Install]
UmdfLibraryVersion = 1.9.0
ServiceBinary = "%12%\umdf\AuxiliaryDisplayEnhancedDriver.dll"
DriverCLSID = {682B1D1D-3489-4A99-91E6-232FC42741A2}

[UMDriverCopy]
AuxiliaryDisplayEnhancedDriver.dll,,,0x100          ; 0x100 means the driver is protected

[DestinationDirs]
UMDriverCopy=12,UMDF    ; copy to drivers\umdf

[SourceDisksNames]
3426=windows cd

[SourceDisksFiles]
AuxiliaryDisplayEnhancedDriver.dll = 3426

; =================== WUDFRd ===================

[WUDFRD_ServiceInstall]
ServiceType     = %SERVICE_KERNEL_DRIVER%
StartType       = %SERVICE_DEMAND_START%
ErrorControl    = %SERVICE_ERROR_NORMAL%
ServiceBinary   = %12%\WUDFRd.sys

;
; =================== Strings ===================
;

[Strings]
;Localizable
Simulator.DeviceDesc            = "Simulator for Microsoft Windows SideShow"
USB\MS_COMP_SIDESHW.DeviceDesc  = "Microsoft Windows SideShow-compatible device"

;Non-Localizable
Msft                            = "Microsoft"
                                                            
REG_DWORD                       = 0x00010001
SERVICE_BOOT_START              = 0x0 
SERVICE_SYSTEM_START            = 0x1 
SERVICE_AUTO_START              = 0x2 
SERVICE_DEMAND_START            = 0x3 
SERVICE_DISABLED                = 0x4 
SERVICE_KERNEL_DRIVER           = 0x1 
SERVICE_ERROR_IGNORE            = 0x0 
SERVICE_ERROR_NORMAL            = 0x1 
SERVICE_ERROR_SEVERE            = 0x2 
SERVICE_ERROR_CRITICAL          = 0x3