;/*++
;
;Copyright (c) Microsoft Corporation.  All rights reserved.
;
;   THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
;   KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
;   IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
;   PURPOSE.
;
;INF Name:
;
;    EyeGazeIoctl.INF
;
;Abstract:
;
;    EyeGazeIoctl creates a device interface that allows Clients to send Eye Gaze
;    data to a virual Eye Gaze device. 
;    For more information see:  https://github.com/MSREnable/GazeHid/
;
;Installation Notes:
;
;    Using Devcon: Type "devcon install EyeGazeIoctl.inf root\EyeGazeIoctl" to install.
;
;--*/

[Version]
Signature="$WINDOWS NT$"
Class=EyeGaze
ClassGuid={A5553E52-FAAE-49B3-A259-16813401E0AA}
Provider=%ProviderName%
DriverVer = 10/18/2023,10.0.22621.2506
CatalogFile=EyeGazeIoctl.cat
PnpLockdown=1

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

[ClassInstall32]
Addreg=EyeGazeClassReg

[EyeGazeClassReg]
HKR,,,0,%ClassName%
HKR,,Icon,,-5

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

[Manufacturer]
%MfgName%=OSR,NTamd64

[OSR.NTamd64]
%EyeGazeIoctl.DeviceDesc%=EyeGazeIoctl.Dev, root\EyeGazeIoctl

[EyeGazeIoctl.Dev.NT]
CopyFiles=EyeGazeIoctl.Files.Ext

[EyeGazeIoctl.Dev.NT.HW]
AddReg=EyeGazeIoctl

[EyeGazeIoctl.Dev.NT.Services]
AddService = EyeGazeIoctl, %SPSVCINST_ASSOCSERVICE%, EyeGazeIoctl.AddService

[EyeGazeIoctl.AddService]
DisplayName    = %EyeGazeIoctl.SvcDesc%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %10%\System32\Drivers\EyeGazeIoctl.sys

[EyeGazeIoctl]
HKR,,"LowerFilters",%REG_MULTI_SZ%,Vhf
; Allow generic-all access to Built-in administrators and Local system
HKR,,Security,,"D:P(A;;GA;;;BA)(A;;GA;;;SY)"

[EyeGazeIoctl.Files.Ext]
EyeGazeIoctl.sys

[SourceDisksNames]
1=%Disk_Description%,,,

;-------------- WDF Coinstaller installation

[DestinationDirs]
DefaultDestDir = 12
CoInstaller_CopyFiles = 11

[EyeGazeIoctl.Dev.NT.CoInstallers]
AddReg=CoInstaller_AddReg
CopyFiles=CoInstaller_CopyFiles

[CoInstaller_CopyFiles]

[SourceDisksFiles]
EyeGazeIoctl.sys = 1

[CoInstaller_AddReg]

[EyeGazeIoctl.Dev.NT.Wdf]
KmdfService = EyeGazeIoctl, EyeGazeIoctl_wdfsect
[EyeGazeIoctl_wdfsect]
KmdfLibraryVersion = 1.15

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

[Strings]
ProviderName="MSFT"
MfgName="Microsoft"
Disk_Description="EyeGazeIoctl Installation Disk"
EyeGazeIoctl.DeviceDesc="EyeGazeIoctl Device"
EyeGazeIoctl.SvcDesc="EyeGazeIoctl Service"
ClassName = "Eye Tracking Devices"
Switch.DeviceDesc = "EyeGazeIoctl Switch Device"
SPSVCINST_ASSOCSERVICE= 0x00000002

REG_EXPAND_SZ          = 0x00020000 
REG_DWORD              = 0x00010001 
REG_MULTI_SZ           = 0x00010000
REG_BINARY             = 0x00000001
REG_SZ                 = 0x00000000
