;-------------------------------------------------------------------------------
; INTEL CONFIDENTIAL
;
; Copyright (c) 2013-2022 Intel Corporation All Rights Reserved 
;
; The source code contained or described herein and all documents related to 
; the source code ("Material") are owned by Intel Corporation or its suppliers 
; or licensors. Title to the Material remains with Intel Corporation or its 
; suppliers and licensors. The Material contains trade secrets and proprietary 
; and confidential information of Intel or its suppliers and licensors. The 
; Material is protected by worldwide copyright and trade secret laws and treaty 
; provisions. No part of the Material may be used, copied, reproduced, 
; modified, published, uploaded, posted, transmitted, distributed, or 
; disclosed in any way without Intel's prior express written permission.
;
; No license under any patent, copyright, trade secret or other intellectual 
; property right is granted to or conferred upon you by disclosure or delivery 
; of the Materials, either expressly, by implication, inducement, estoppel or 
; otherwise. Any license under such intellectual property rights must be 
; expressed and approved by Intel in writing.
;------------------------------------------------------------------------------

[Version] 
Signature = "$WINDOWS NT$" 
Class     = SoftwareComponent
ClassGuid = {5c4c3332-344d-483c-8739-259e934c9cc8}
Provider = %INTEL% 
CatalogFile = dtt_sw.cat
DriverVer = 03/25/2022,9.0.10900.26658
PnpLockDown=1

;----------------------------------------------------------------------
; File Information
;----------------------------------------------------------------------

[SourceDisksNames]
1 = %DiskName%,,,""

[SourceDisksFiles]
ipfumdf.dll = 1
ipfsvc.exe = 1
dptftcs.dll = 1
Dptf.dll = 1
DptfPolicyRfim.dll = 1
DptfPolicyActive.dll = 1
DptfPolicyActive2.dll = 1
DptfPolicyEnergyPerformanceOptimizer.dll = 1
DptfPolicyAdaptivePerformance.dll = 1
DptfPolicyCritical.dll = 1
DptfPolicyIntelligentThermalManagement.dll = 1
DptfPolicyPassive.dll = 1
DptfPolicyPassive2.dll = 1
DptfPolicyPid.dll = 1
DptfPolicyPowerBoss.dll = 1
DptfPolicyVirtualSensor.dll = 1
DptfPolicyPowerShare.dll = 1
DptfPolicyPowerShare2.dll = 1
DptfPolicySystemConfiguration.dll = 1
DptfPolicyThirdPartyGraphics.dll = 1

[DestinationDirs]
DefaultDestDir = 13
Dtt_CopyFiles = 13

;-------------------------------------------------------------------------------
; Manufacturer and Models Section
;-------------------------------------------------------------------------------

[Manufacturer]
%INTEL% = INTEL,NTamd64.10.0...17763

[INTEL.NTamd64.10.0...17763]
%DTT_FriendlyName% = DttInstall, SWC\VID8086_DTT_1.0

;------------------------------------------------------------------------------
; Install Sections 
;------------------------------------------------------------------------------
[DttInstall.NTamd64]
CopyFiles = Dtt_CopyFiles

[Dtt_CopyFiles]
ipfumdf.dll,,,%COPYFLG_NOSKIP%
ipfsvc.exe,,,%COPYFLG_NOSKIP%
dptftcs.dll,,,%COPYFLG_NOSKIP%
Dptf.dll,,,%COPYFLG_NOSKIP%
DptfPolicyRfim.dll,,,%COPYFLG_NOSKIP%
DptfPolicyActive.dll,,,%COPYFLG_NOSKIP%
DptfPolicyActive2.dll,,,%COPYFLG_NOSKIP%
DptfPolicyEnergyPerformanceOptimizer.dll,,,%COPYFLG_NOSKIP%
DptfPolicyAdaptivePerformance.dll,,,%COPYFLG_NOSKIP%
DptfPolicyCritical.dll,,,%COPYFLG_NOSKIP%
DptfPolicyIntelligentThermalManagement.dll,,,%COPYFLG_NOSKIP%
DptfPolicyPassive.dll,,,%COPYFLG_NOSKIP%
DptfPolicyPassive2.dll,,,%COPYFLG_NOSKIP%
DptfPolicyPid.dll,,,%COPYFLG_NOSKIP%
DptfPolicyPowerBoss.dll,,,%COPYFLG_NOSKIP%
DptfPolicyVirtualSensor.dll,,,%COPYFLG_NOSKIP%
DptfPolicyPowerShare.dll,,,%COPYFLG_NOSKIP%
DptfPolicyPowerShare2.dll,,,%COPYFLG_NOSKIP%
DptfPolicySystemConfiguration.dll,,,%COPYFLG_NOSKIP%
DptfPolicyThirdPartyGraphics.dll,,,%COPYFLG_NOSKIP%

;-------------------------------------------------------------------------------
; Install Services Section
;-------------------------------------------------------------------------------
[DttInstall.NTamd64.Services]
AddService=WUDFRd,0x000001fa,ReflectorService, DttUmdfLogging_Install, Application
AddService=dptftcs,0x000009f8,IpfTcs_InstallService, IpfTcsSvcLoggingSection, Application, DPTFTCS

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

[IpfTcs_InstallService]
DisplayName=%ServiceDisplayName%
Description=%ServiceDescription%
ServiceType = %SERVICE_WIN32_OWN_PROCESS%
StartType = %SERVICE_AUTO_START%
ErrorControl = %SERVICE_ERROR_NORMAL%
ServiceBinary = """%13%\ipfsvc.exe"""
AddReg = Hw_AddParams

[DttUmdfLogging_Install]
AddReg=DttEtw_AddReg
AddReg=DttEventLog_AddReg

[DttEtw_AddReg]
HKLM,%EtwProviderKey%,,%REG_SZ%,"IpfUmdfEtwProvider"
HKLM,%EtwProviderKey%,"ResourceFileName",%REG_EXPAND_SZ%,"%13%\ipfumdf.dll"
HKLM,%EtwProviderKey%,"MessageFileName",%REG_EXPAND_SZ%,"%13%\ipfumdf.dll"
HKLM,%EtwProviderKey%,"Enabled",%REG_DWORD%,1

[DttEventLog_AddReg]
HKLM,%EventLogProviderKey%,,%REG_SZ%,"IPFUMDF"
HKLM,%EventLogProviderKey%,"ResourceFileName",%REG_EXPAND_SZ%,"%13%\ipfumdf.dll"
HKLM,%EventLogProviderKey%,"MessageFileName",%REG_EXPAND_SZ%,"%13%\ipfumdf.dll"
HKLM,%EventLogProviderKey%,"Enabled",%REG_DWORD%,1
HKLM,%EventLogProviderKey%"\ChannelReferences","Count",%REG_DWORD%,1
HKLM,%EventLogProviderKey%"\ChannelReferences\0\",,%REG_SZ%,"Application"
HKLM,%EventLogProviderKey%"\ChannelReferences\0\","Flags",%REG_DWORD%,1
HKLM,%EventLogProviderKey%"\ChannelReferences\0\","Id",%REG_DWORD%,9
HKLM,%EventLogChannelKey%,"Enabled",%REG_DWORD%,1
HKLM,%EventLogChannelKey%,"EnableLevel",%REG_DWORD%,0
HKLM,%EventLogChannelKey%,"EnableProperty",%REG_DWORD%,1
HKLM,%EventLogChannelKey%,"LoggerName",%REG_SZ%,"EventLog-Application"
HKLM,%EventLogChannelKey%,"MatchAnyKeyword",%REG_QWORD%,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80
HKLM,%EventLogChannelKey%,"MatchAllKeyword",%REG_QWORD%,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

[IpfTcsSvcLoggingSection]
AddReg=IpfSvcEtw_AddReg
AddReg=IpfSvcEventLog_AddReg
AddReg=DptfTcsEtw_AddReg
AddReg=DptfTcsEventLog_AddReg

[IpfSvcEtw_AddReg]
HKLM,%SvcEtwProviderKey%,,%REG_SZ%,"IpfSvcEtwProvider"
HKLM,%SvcEtwProviderKey%,"ResourceFileName",%REG_EXPAND_SZ%,"%13%\ipfsvc.exe"
HKLM,%SvcEtwProviderKey%,"MessageFileName",%REG_EXPAND_SZ%,"%13%\ipfsvc.exe"
HKLM,%SvcEtwProviderKey%,"Enabled",%REG_DWORD%,1

[IpfSvcEventLog_AddReg]
HKLM,%SvcEventLogProviderKey%,,%REG_SZ%,"IPFSVC"
HKLM,%SvcEventLogProviderKey%,"ResourceFileName",%REG_EXPAND_SZ%,"%13%\ipfsvc.exe"
HKLM,%SvcEventLogProviderKey%,"MessageFileName",%REG_EXPAND_SZ%,"%13%\ipfsvc.exe"
HKLM,%SvcEventLogProviderKey%,"Enabled",%REG_DWORD%,1
HKLM,%SvcEventLogProviderKey%"\ChannelReferences","Count",%REG_DWORD%,1
HKLM,%SvcEventLogProviderKey%"\ChannelReferences\0\",,%REG_SZ%,"Application"
HKLM,%SvcEventLogProviderKey%"\ChannelReferences\0\","Flags",%REG_DWORD%,1
HKLM,%SvcEventLogProviderKey%"\ChannelReferences\0\","Id",%REG_DWORD%,9
HKLM,%SvcEventLogChannelKey%,"Enabled",%REG_DWORD%,1
HKLM,%SvcEventLogChannelKey%,"EnableLevel",%REG_DWORD%,0
HKLM,%SvcEventLogChannelKey%,"EnableProperty",%REG_DWORD%,1
HKLM,%SvcEventLogChannelKey%,"LoggerName",%REG_SZ%,"EventLog-Application"
HKLM,%SvcEventLogChannelKey%,"MatchAnyKeyword",%REG_QWORD%,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80
HKLM,%SvcEventLogChannelKey%,"MatchAllKeyword",%REG_QWORD%,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

[DptfTcsEtw_AddReg]
HKLM,%TcsEtwProviderKey%,,%REG_SZ%,"DptfTcsEtwProvider"
HKLM,%TcsEtwProviderKey%,"ResourceFileName",%REG_EXPAND_SZ%,"%13%\dptftcs.dll"
HKLM,%TcsEtwProviderKey%,"MessageFileName",%REG_EXPAND_SZ%,"%13%\dptftcs.dll"
HKLM,%TcsEtwProviderKey%,"Enabled",%REG_DWORD%,1

[DptfTcsEventLog_AddReg]
HKLM,%TcsEventLogProviderKey%,,%REG_SZ%,"DPTFTCS"
HKLM,%TcsEventLogProviderKey%,"ResourceFileName",%REG_EXPAND_SZ%,"%13%\dptftcs.dll"
HKLM,%TcsEventLogProviderKey%,"MessageFileName",%REG_EXPAND_SZ%,"%13%\dptftcs.dll"
HKLM,%TcsEventLogProviderKey%,"Enabled",%REG_DWORD%,1
HKLM,%TcsEventLogProviderKey%"\ChannelReferences","Count",%REG_DWORD%,1
HKLM,%TcsEventLogProviderKey%"\ChannelReferences\0\",,%REG_SZ%,"Application"
HKLM,%TcsEventLogProviderKey%"\ChannelReferences\0\","Flags",%REG_DWORD%,1
HKLM,%TcsEventLogProviderKey%"\ChannelReferences\0\","Id",%REG_DWORD%,9
HKLM,%TcsEventLogChannelKey%,"Enabled",%REG_DWORD%,1
HKLM,%TcsEventLogChannelKey%,"EnableLevel",%REG_DWORD%,0
HKLM,%TcsEventLogChannelKey%,"EnableProperty",%REG_DWORD%,1
HKLM,%TcsEventLogChannelKey%,"LoggerName",%REG_SZ%,"EventLog-Application"
HKLM,%TcsEventLogChannelKey%,"MatchAnyKeyword",%REG_QWORD%,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80
HKLM,%TcsEventLogChannelKey%,"MatchAllKeyword",%REG_QWORD%,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

;-------------------------------------------------------------------------------
; Install HW Section
;-------------------------------------------------------------------------------
[DttInstall.NTamd64.HW]
AddReg = Hw_AddParams

[Hw_AddParams]
HKR,,"DttUmdfInstallDir",,%13%
HKR,"Parameters","AppName",,"dptftcs"
HKR,"Parameters","Server",,"pipe://ipfsrv.dptftcs"
HKR,"Parameters","Version",,"9.0.10900.26658"
HKR,,"ObjectName",,"NT Authority\LocalService"
HKR,,"FailureActions",%REG_BINARY%,80,51,01,00,00,00,00,00,00,00,00,00,03,00,00,00,14,00,00,00,01,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

;-------------------------------------------------------------------------------
; Install WDF Section
;-------------------------------------------------------------------------------
[DttInstall.NTamd64.Wdf]
UmdfService = ipfumdf, DttUmdfSection
UmdfServiceOrder = ipfumdf

[DttUmdfSection]
UmdfLibraryVersion = 2.0.0
ServiceBinary = %13%\ipfumdf.dll
AddReg = UmdfServiceParameters_AddReg

[UmdfServiceParameters_AddReg]
HKR,"Parameters","Display",,"Intel(R) Dynamic Tuning Technology"
HKR,"Parameters","AppName",,"dptf"
HKR,"Parameters","Server",,"pipe://ipfsrv.dptf"
HKR,"Parameters","Version",,"9.0.10900.26658"
HKR,"Parameters","Path",,"%13%"


;----------------------------------------------------------------------
; Strings and Constants
;----------------------------------------------------------------------

[Strings]
INTEL = "Intel"
DiskName = "Intel(R) Dynamic Tuning Technology"
DTT_FriendlyName = "Intel(R) Dynamic Tuning Technology"
ReflectorName="Windows Driver Foundation - User-mode Driver Framework Reflector"
ServiceDisplayName="Intel(R) Dynamic Tuning Technology Telemetry Service"
ServiceDescription="Intel(R) Dynamic Tuning Technology Telemetry Service"

EtwProviderKey="SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{B21B9A34-05A7-451C-A5F6-397213012C62}"
EventLogProviderKey="SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{1AB4A3CA-4865-43F5-950D-BA177DEFC130}"
EventLogChannelKey="SYSTEM\CurrentControlSet\Control\WMI\Autologger\EventLog-Application\{1AB4A3CA-4865-43F5-950D-BA177DEFC130}"
SvcEtwProviderKey="SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{B622598B-F2CD-412A-A37E-0977F9B0240D}"
SvcEventLogProviderKey="SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{A622C6A4-A576-4730-9CA6-BBBB0C2D3B02}"
SvcEventLogChannelKey="SYSTEM\CurrentControlSet\Control\WMI\Autologger\EventLog-Application\{A622C6A4-A576-4730-9CA6-BBBB0C2D3B02}"
TcsEtwProviderKey="SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{7B226F2A-5012-4D8B-9139-A98307943BA5}"
TcsEventLogProviderKey="SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{B6C3C125-E6A8-48C4-B000-D01C8C58F9DF}"
TcsEventLogChannelKey="SYSTEM\CurrentControlSet\Control\WMI\Autologger\EventLog-Application\{B6C3C125-E6A8-48C4-B000-D01C8C58F9DF}"

SERVICE_AUTO_START = 2
SERVICE_DEMAND_START  = 3
SERVICE_ERROR_NORMAL  = 1
SERVICE_KERNEL_DRIVER = 1
SERVICE_WIN32_OWN_PROCESS = 0x00000010

REG_SZ = 0x00000000
REG_DWORD = 0x00010001
REG_MULTI_SZ = 0x00010000
REG_EXPAND_SZ = 0x00020000
REG_QWORD = 0x000B0001
REG_BINARY = 0x00000001
COPYFLG_NOSKIP = 0x00000002

