
;/*++
;
;Copyright (c) 1990-2013 Huawei Corporation All rights Reserved
;
;Module Name:
;
;    HuaweiGNSS.INF
;
;Abstract:
;
;    INF file for Huawei GNSS driver 
;    
;
;    
;
;--*/

[Version]
Signature   = "$Windows NT$"
Class       = Sensor
ClassGuid   = {5175D334-C371-4806-B3BA-71FD53C9258D}
Provider    = "Huawei Technologies"
DriverVer   = 11/17/2014,1.1.22.0
CatalogFile = HuaweiGNSS.cat

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

[Manufacturer]
%MSFT% = HuaweiGNSS_WinUSB,NTx86,NTamd64

[HuaweiGNSS_WinUSB.NTx86]
%HuaweiGNSSDevice.DeviceDesc% = GNSS_Install, USB\VID_12D1&PID_1570&MI_02
%HuaweiGNSSDevice.DeviceDesc% = GNSS_Install, USB\VID_12D1&PID_1573&MI_02
%HuaweiGNSSDevice.DeviceDesc% = GNSS_Install, USB\VID_12D1&PID_15F0&MI_02
%HPGNSSDevice.DeviceDesc% = GNSS_Install, USB\VID_03F0&PID_521D&MI_02
%HPGNSSDevice.DeviceDesc% = GNSS_Install, USB\VID_03F0&PID_541D&MI_02
%HPGNSSDevice.DeviceDesc% = GNSS_Install, USB\VID_03F0&PID_561D&MI_02
%HPGNSSDevice.DeviceDesc% = GNSS_Install, USB\VID_03F0&PID_581D&MI_02
%HPGNSSDevice.DeviceDesc% = GNSS_Install, USB\VID_03F0&PID_591D&MI_02
%HPGNSSDevice.DeviceDesc% = GNSS_Install, USB\VID_03F0&PID_631D&MI_02
%HPGNSSDevice.DeviceDesc% = GNSS_Install, USB\VID_03F0&PID_641D&MI_02
%HPGNSSDevice.DeviceDesc% = GNSS_Install, USB\VID_03F0&PID_681D&MI_02

[HuaweiGNSS_WinUSB.NTamd64]
%HuaweiGNSSDevice.DeviceDesc% = GNSS_Install, USB\VID_12D1&PID_1570&MI_02
%HuaweiGNSSDevice.DeviceDesc% = GNSS_Install, USB\VID_12D1&PID_1573&MI_02
%HuaweiGNSSDevice.DeviceDesc% = GNSS_Install, USB\VID_12D1&PID_15F0&MI_02
%HPGNSSDevice.DeviceDesc% = GNSS_Install, USB\VID_03F0&PID_521D&MI_02
%HPGNSSDevice.DeviceDesc% = GNSS_Install, USB\VID_03F0&PID_541D&MI_02
%HPGNSSDevice.DeviceDesc% = GNSS_Install, USB\VID_03F0&PID_561D&MI_02
%HPGNSSDevice.DeviceDesc% = GNSS_Install, USB\VID_03F0&PID_581D&MI_02
%HPGNSSDevice.DeviceDesc% = GNSS_Install, USB\VID_03F0&PID_591D&MI_02
%HPGNSSDevice.DeviceDesc% = GNSS_Install, USB\VID_03F0&PID_631D&MI_02
%HPGNSSDevice.DeviceDesc% = GNSS_Install, USB\VID_03F0&PID_641D&MI_02
%HPGNSSDevice.DeviceDesc% = GNSS_Install, USB\VID_03F0&PID_681D&MI_02

; =================== UMDF Device ==================================

[GNSS_Install.NT]
CopyFiles   = UMDriverCopy
Include     = WINUSB.INF                        ; Import sections from WINUSB.INF
Needs       = WINUSB.NT                         ; Run the CopyFiles & AddReg directives for WinUsb.INF
AddProperty = DriverPropertiesSection

[GNSS_Install.NT.HW]
AddReg = GNSS_Device_AddReg

[GNSS_Device_AddReg]
HKR,,"LowerFilters",0x00010008,"WinUsb" ; FLG_ADDREG_TYPE_MULTI_SZ | FLG_ADDREG_APPEND
HKR,,DeviceInterfaceGUIDs,0x10000,"{2F37B6C7-27D1-4856-A589-84B84B7BD353}"
HKR,,"SystemWakeEnabled",0x00010001,0 
HKR,,"DeviceIdleEnabled",0x00010001,1 
HKR,,"UserSetDeviceIdleEnabled",0x00010001,1 
HKR,,"DefaultIdleState",0x00010001,1 
HKR,,"DefaultIdleTimeout",0x00010001,5000 
HKR,,"IdleTimeoutDelay",0x00010001,3000
HKR,,"IntervalOpenEnable",0x00010001,1
HKR,,"IntervalReportPeriodThreshold",0x00010001,80
HKR,,"OpenDelayTime",0x00010001,60
HKR,,"WinUsbPowerPolicyOwnershipDisabled",0x00010001,1 ; To disable the WinUSB driver's ability to be the device's power policy owner

[GNSS_Install.NT.Services]
AddService = WUDFRd,0x000001fa,WUDFRD_ServiceInstall  ; flag 0x2 sets this as the service for the device
AddService = WinUsb,0x000001f8,WinUsb_ServiceInstall  ; this service is installed because its a filter.

[GNSS_Install.NT.CoInstallers]
AddReg    = CoInstallers_AddReg
CopyFiles = CoInstallers_CopyFiles

[GNSS_Install.NT.Wdf]
KmdfService             = WINUSB, WinUsb_Install
UmdfDispatcher          = WinUsb
UmdfService             = HuaweiGNSS, HuaweiGNSS_Install
UmdfServiceOrder        = HuaweiGNSS
UmdfImpersonationLevel  = Impersonation

[WinUsb_Install]
KmdfLibraryVersion = 1.1

[HuaweiGNSS_Install]
UmdfLibraryVersion = 1.11.0
ServiceBinary      = "%12%\umdf\HuaweiGNSS.dll"
DriverCLSID        = "{3C4C959E-4521-4D59-9704-0B43C8A47EB6}"

[WinUsb_ServiceInstall]
DisplayName     = %WinUsb_SvcDesc%
ServiceType     = 1
StartType       = 3
ErrorControl    = 1
ServiceBinary   = %12%\WinUSB.sys

[WUDFRD_ServiceInstall]
DisplayName    = %WudfRdDisplayName%
ServiceType    = 1
StartType      = 3
ErrorControl   = 1
ServiceBinary  = %12%\WUDFRd.sys
LoadOrderGroup = Base

[SourceDisksFiles]
HuaweiGNSS.dll          = 1
WudfUpdate_01011.dll    = 1
WdfCoInstaller01011.dll = 1
WinUsbCoinstaller2.dll  = 1

[SourceDisksNames]
1 = %HWSRCDISK%

[CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WudfUpdate_01011.dll", "WinUsbCoinstaller2.dll", "WdfCoInstaller01011.dll,WdfCoInstaller"

;the follows are for Radio Manager
HKCR,CLSID\{A5BBD5A3-F8AA-4812-BCEF-402C45D44001},,0x00000000,"Huawei Radio Manager"
HKCR,CLSID\{A5BBD5A3-F8AA-4812-BCEF-402C45D44001}\InProcServer32,,0x00020000,"%%SystemRoot%%\System32\Drivers\UMDF\HuaweiGNSS.dll"
HKCR,CLSID\{A5BBD5A3-F8AA-4812-BCEF-402C45D44001}\InProcServer32,ThreadingModel,0x00000000,"Both"
HKLM,SYSTEM\CurrentControlSet\Control\RadioManagement\{A5BBD5A3-F8AA-4812-BCEF-402C45D44001},,0x00000000,"Huawei Radio Manager"
HKLM,SYSTEM\CurrentControlSet\Control\RadioManagement\Misc\HuaweiRadioManager\RadioInstance,RadioState,0x00010001,0

[DestinationDirs]
CoInstallers_CopyFiles = 11      ; copy to system32
UMDriverCopy           = 12,UMDF ; copy to drivers/umdf

[UMDriverCopy]
HuaweiGNSS.dll

[CoInstallers_CopyFiles]
WudfUpdate_01011.dll    
WdfCoInstaller01011.dll 
WinUsbCoinstaller2.dll  

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

[DriverPropertiesSection]
DeviceIcon,,,,"%12%\UMDF\HuaweiGNSS.dll,-1000"

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

[Strings]
MSFT                        = "HUAWEI Technologies"
HuaweiGNSSDevice.DeviceDesc = "HUAWEI GNSS Sensor"
HPGNSSDevice.DeviceDesc     = "HP GNSS Sensor"
WinUSB_SvcDesc              = "WinUSB Driver"
HWSRCDISK                   = "HUAWEI Multimedia USB Driver Disk"
ClassName                   = "HUAWEI GNSS Sensor"
WudfRdDisplayName           = "Windows Driver Foundation - User-mode Driver Framework Reflector"
