;/*++
;
;Copyright (c) Microsoft Corporation.  All rights reserved.
;
;Module Name:
;
;    wnetvsc.inf
;
;Abstract:
;
;    INF file for installing Network VSC miniport driver
;
;--*/

[Version]
Signature="$WINDOWS NT$"
Class=Net
ClassGuid={4d36e972-e325-11ce-bfc1-08002be10318}
Provider=%MSFT%
DriverVer = 06/21/2006,10.0.22621.3958
PnpLockdown=1


[DestinationDirs]
netvsc_Drivers_Dir      = 12

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

[SourceDisksFiles]
netvsc.sys              = 1,,

[ControlFlags]
PreConfigureDriver = VMBUS\{F8615163-DF3E-46c5-913F-F2D2F965ED0E}

;*****************************************
; netvsc Install Section
;*****************************************

[Manufacturer]
%MSFT%=MSFT,NTamd64

[WMIGuidSecurity_AllReadAdminFul]
security="O:BAG:BAD:(A;;0x12001f;;;BA)(A;;0x12001f;;;LS)(A;;0x12001f;;;NS)(A;;0x12001f;;;SY)(A;;0x12001f;;;NO)(A;;CC;;;BU)"

[MSFT.NTamd64]
%netvsc.DeviceDesc%=netvsc_Device, VMBUS\{F8615163-DF3E-46c5-913F-F2D2F965ED0E}

;**********************
;Media Specific devices
;**********************
%netvsc_eth.DeviceDesc%=netvsc_eth_Device, VMBUS\{F8615164-DF3E-46c5-913F-F2D2F965ED0E}
%netvsc_wifi.DeviceDesc%=netvsc_wifi_Device, VMBUS\{F8615165-DF3E-46c5-913F-F2D2F965ED0E}
%netvsc_mbb_gsm.DeviceDesc%=netvsc_mbb_gsm_Device, VMBUS\{F8615166-DF3E-46c5-913F-F2D2F965ED0E}
%netvsc_mbb_cdma.DeviceDesc%=netvsc_mbb_cdma_Device, VMBUS\{F8615167-DF3E-46c5-913F-F2D2F965ED0E}
%netvsc_ppp.DeviceDesc%=netvsc_ppp_Device, VMBUS\{F8615168-DF3E-46c5-913F-F2D2F965ED0E}

[netvsc_Device]
Characteristics            = 0x4 ;NCF_PHYSICAL
BusType                    = 0x0 ;Internal
CopyFiles                  = netvsc_Drivers_Dir
AddReg                     = netvsc_Device.AddReg,netvsc60_Device.AddReg,netvsc_ETW.AddReg,
*IfType                    = 6   ; IF_TYPE_ETHERNET_CSMACD 
*MediaType                 = 0   ; NdisMedium802_3 
*PhysicalMediaType         = 0   ; NdisPhysicalMediumUnspecified 

[netvsc_Device.HW]
AddReg=netvsc_Device.HW.AddReg

[netvsc_Device.Services]
AddService = netvsc,%SPSVCINST_ASSOCSERVICE%, netvsc_Service_Inst

[netvsc_Device.WMI]
WMIInterface={437CF222-72FE-11D4-97F9-002048570337},,WMIGuidSecurity_AllReadAdminFul

;**********************
; Ethernet Device
;**********************

[netvsc_eth_Device]
Characteristics            = 0x4 ;NCF_PHYSICAL
BusType                    = 0x0 ;Internal
CopyFiles                  = netvsc_Drivers_Dir
AddReg                     = netvsc_Device.AddReg,netvsc60_Device.AddReg,netvsc_ETW.AddReg,netvsc_Device.HW.AddReg
*IfType                    = 6   ; IF_TYPE_ETHERNET_CSMACD 
*MediaType                 = 0   ; NdisMedium802_3 
*PhysicalMediaType         = 14  ; NdisPhysicalMedium802_3
*DataLinkLayerType         = 0   ; NdisMedium802_3


[netvsc_eth_Device.Services]
AddService = netvsc,%SPSVCINST_ASSOCSERVICE%, netvsc_Service_Inst

[netvsc_eth_Device.WMI]
WMIInterface={437CF222-72FE-11D4-97F9-002048570337},,WMIGuidSecurity_AllReadAdminFul

;**********************
; Wi-Fi Device
;**********************

[netvsc_wifi_Device]
Characteristics            = 0x4 ;NCF_PHYSICAL
BusType                    = 0x0 ;Internal
CopyFiles                  = netvsc_Drivers_Dir
AddReg                     = netvsc_Device.AddReg,netvsc60_Device.AddReg,netvsc_ETW.AddReg,
*IfType                    = 71  ; IF_TYPE_IEEE80211
*MediaType                 = 16  ; NdisMediumNative802_11
*PhysicalMediaType         = 9   ; NdisPhysicalMediumNative802_11
*DataLinkLayerType         = 0   ; NdisMedium802_3

[netvsc_wifi_Device.Services]
AddService = netvsc,%SPSVCINST_ASSOCSERVICE%, netvsc_Service_Inst

[netvsc_wifi_Device.WMI]
WMIInterface={437CF222-72FE-11D4-97F9-002048570337},,WMIGuidSecurity_AllReadAdminFul

;**********************
; MBB GSM Device
;**********************


[netvsc_mbb_gsm_Device]
Characteristics            = 0x4 ;NCF_PHYSICAL
BusType                    = 0x0 ;Internal
CopyFiles                  = netvsc_Drivers_Dir
AddReg                     = netvsc_Device.AddReg,netvsc60_Device.AddReg,netvsc_ETW.AddReg,
*IfType                    = 243 ; IF_TYPE_WWANPP
*MediaType                 = 9   ; NdisMediumWirelessWan
*PhysicalMediaType         = 8   ; NdisPhysicalMediumWirelessWan
*DataLinkLayerType         = 0   ; NdisMedium802_3


[netvsc_mbb_gsm_Device.Services]
AddService = netvsc,%SPSVCINST_ASSOCSERVICE%, netvsc_Service_Inst

[netvsc_mbb_gsm_Device.WMI]
WMIInterface={437CF222-72FE-11D4-97F9-002048570337},,WMIGuidSecurity_AllReadAdminFul

;**********************
; MBB CDMA Device
;**********************


[netvsc_mbb_cdma_Device]
Characteristics            = 0x4 ;NCF_PHYSICAL
BusType                    = 0x0 ;Internal
CopyFiles                  = netvsc_Drivers_Dir
AddReg                     = netvsc_Device.AddReg,netvsc60_Device.AddReg,netvsc_ETW.AddReg,
*IfType                    = 244 ; IF_TYPE_WWANPP2
*MediaType                 = 9   ; NdisMediumWirelessWan
*PhysicalMediaType         = 8   ; NdisPhysicalMediumWirelessWan
*DataLinkLayerType         = 0   ; NdisMedium802_3


[netvsc_mbb_cdma_Device.Services]
AddService = netvsc,%SPSVCINST_ASSOCSERVICE%, netvsc_Service_Inst

[netvsc_mbb_cdma_Device.WMI]
WMIInterface={437CF222-72FE-11D4-97F9-002048570337},,WMIGuidSecurity_AllReadAdminFul

;**********************
; PPP Device
;**********************


[netvsc_ppp_Device]
Characteristics            = 0x4 ;NCF_PHYSICAL
BusType                    = 0x0 ;Internal
CopyFiles                  = netvsc_Drivers_Dir
AddReg                     = netvsc_Device.AddReg,netvsc60_Device.AddReg,netvsc_ETW.AddReg,
*IfType                    = 23  ; IF_TYPE_PPP
*MediaType                 = 0   ; NdisMedium802_3
*PhysicalMediaType         = 0   ; NdisPhysicalMediumUnspecified


[netvsc_ppp_Device.Services]
AddService = netvsc,%SPSVCINST_ASSOCSERVICE%, netvsc_Service_Inst

[netvsc_ppp_Device.WMI]
WMIInterface={437CF222-72FE-11D4-97F9-002048570337},,WMIGuidSecurity_AllReadAdminFul

;**********************
; Common Sections
;**********************


[netvsc_Drivers_Dir]
netvsc.sys,,,0x100 ;COPYFLG_PROTECTED_WINDOWS_DRIVER_FILE

[netvsc_Service_Inst]
ServiceType    = 1               ; SERVICE_KERNEL_DRIVER
StartType      = 3               ; SERVICE_DEMAND_START 
ErrorControl   = 1               ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\netvsc.sys
LoadOrderGroup = Extended Base
AddReg         = netvsc_Parameters_AddReg

[netvsc_Device.AddReg]
HKR, Ndi,               Service,            0,          "netvsc"
HKR, Ndi\Interfaces,    UpperRange,         0,          "ndis5" 
HKR, Ndi\Interfaces,    LowerRange,         0,          "ethernet"

; Network Address
HKR, NDI\params\NetworkAddress,         ParamDesc,      0, %NetworkAddress%
HKR, NDI\params\NetworkAddress,         type,           0, "edit"
HKR, NDI\params\NetworkAddress,         LimitText,      0, "12"
HKR, NDI\params\NetworkAddress,         UpperCase,      0, "1"
HKR, NDI\params\NetworkAddress,         default,        0, ""
HKR, NDI\params\NetworkAddress,         optional,       0, "1"

; Network Direct - RDMA
HKR, Ndi\Params\*NetworkDirect,         ParamDesc,      0, %NetworkDirect%
HKR, Ndi\Params\*NetworkDirect,         type,           0, "enum"
HKR, Ndi\Params\*NetworkDirect,         default,        0, "0"
HKR, Ndi\Params\*NetworkDirect\Enum,    "0",            0, %CmnDisabled%
HKR, Ndi\Params\*NetworkDirect\Enum,    "1",            0, %CmnEnabled%

; *JumboPacket
HKR, Ndi\Params\*JumboPacket,           ParamDesc,      0, %JumboPacket%
HKR, Ndi\Params\*JumboPacket,           default,        0, "1514"
HKR, Ndi\Params\*JumboPacket\Enum,      "1514",         0, %CmnDisabled%
HKR, Ndi\Params\*JumboPacket\Enum,      "4088",         0, %Bytes4088%
HKR, Ndi\Params\*JumboPacket\Enum,      "9014",         0, %Bytes9014%
HKR, Ndi\Params\*JumboPacket,           type,           0, "enum"

; IPv4 IP Checksum offload
HKR, Ndi\Params\*IPChecksumOffloadIPv4,          ParamDesc,      0, %Ip4IpChecksum%
HKR, Ndi\Params\*IPChecksumOffloadIPv4,          type,           0, "enum"
HKR, Ndi\Params\*IPChecksumOffloadIPv4,          default,        0, "3"
HKR, Ndi\Params\*IPChecksumOffloadIPv4\Enum,     "0",            0, %CmnDisabled%
HKR, Ndi\Params\*IPChecksumOffloadIPv4\Enum,     "1",            0, %OflEnabledTx%
HKR, Ndi\Params\*IPChecksumOffloadIPv4\Enum,     "2",            0, %OflEnabledRx%
HKR, Ndi\Params\*IPChecksumOffloadIPv4\Enum,     "3",            0, %OflEnabledTxRx%

; IPv4 TCP Checksum offload
HKR, Ndi\Params\*TCPChecksumOffloadIPv4,         ParamDesc,      0, %Ip4TcpChecksum%
HKR, Ndi\Params\*TCPChecksumOffloadIPv4,         type,           0, "enum"
HKR, Ndi\Params\*TCPChecksumOffloadIPv4,         default,        0, "3"
HKR, Ndi\Params\*TCPChecksumOffloadIPv4\Enum,    "0",            0, %CmnDisabled%
HKR, Ndi\Params\*TCPChecksumOffloadIPv4\Enum,    "1",            0, %OflEnabledTx%
HKR, Ndi\Params\*TCPChecksumOffloadIPv4\Enum,    "2",            0, %OflEnabledRx%
HKR, Ndi\Params\*TCPChecksumOffloadIPv4\Enum,    "3",            0, %OflEnabledTxRx%

; IPv6 TCP Checksum offload
HKR, Ndi\Params\*TCPChecksumOffloadIPv6,         ParamDesc,      0, %Ip6TcpChecksum%
HKR, Ndi\Params\*TCPChecksumOffloadIPv6,         type,           0, "enum"
HKR, Ndi\Params\*TCPChecksumOffloadIPv6,         default,        0, "3"
HKR, Ndi\Params\*TCPChecksumOffloadIPv6\Enum,    "0",            0, %CmnDisabled%
HKR, Ndi\Params\*TCPChecksumOffloadIPv6\Enum,    "1",            0, %OflEnabledTx%
HKR, Ndi\Params\*TCPChecksumOffloadIPv6\Enum,    "2",            0, %OflEnabledRx%
HKR, Ndi\Params\*TCPChecksumOffloadIPv6\Enum,    "3",            0, %OflEnabledTxRx%

; IPv4 UDP Checksum offload
HKR, Ndi\Params\*UDPChecksumOffloadIPv4,         ParamDesc,      0, %Ip4UdpChecksum%
HKR, Ndi\Params\*UDPChecksumOffloadIPv4,         type,           0, "enum"
HKR, Ndi\Params\*UDPChecksumOffloadIPv4,         default,        0, "3"
HKR, Ndi\Params\*UDPChecksumOffloadIPv4\Enum,    "0",            0, %CmnDisabled%
HKR, Ndi\Params\*UDPChecksumOffloadIPv4\Enum,    "1",            0, %OflEnabledTx%
HKR, Ndi\Params\*UDPChecksumOffloadIPv4\Enum,    "2",            0, %OflEnabledRx%
HKR, Ndi\Params\*UDPChecksumOffloadIPv4\Enum,    "3",            0, %OflEnabledTxRx%

; IPv6 UDP Checksum offload
HKR, Ndi\Params\*UDPChecksumOffloadIPv6,         ParamDesc,      0, %Ip6UdpChecksum%
HKR, Ndi\Params\*UDPChecksumOffloadIPv6,         type,           0, "enum"
HKR, Ndi\Params\*UDPChecksumOffloadIPv6,         default,        0, "3"
HKR, Ndi\Params\*UDPChecksumOffloadIPv6\Enum,    "0",            0, %CmnDisabled%
HKR, Ndi\Params\*UDPChecksumOffloadIPv6\Enum,    "1",            0, %OflEnabledTx%
HKR, Ndi\Params\*UDPChecksumOffloadIPv6\Enum,    "2",            0, %OflEnabledRx%
HKR, Ndi\Params\*UDPChecksumOffloadIPv6\Enum,    "3",            0, %OflEnabledTxRx%

; Receive Buffer Size
HKR, Ndi\Params\ReceiveBufferSize,               ParamDesc,      0, %ReceiveBufferSize%
HKR, Ndi\Params\ReceiveBufferSize,               type,           0, "enum"
HKR, Ndi\Params\ReceiveBufferSize,               default,        0, "8192"
HKR, Ndi\Params\ReceiveBufferSize\Enum,          "1024",         0, %1MB%
HKR, Ndi\Params\ReceiveBufferSize\Enum,          "2048",         0, %2MB%
HKR, Ndi\Params\ReceiveBufferSize\Enum,          "3072",         0, %3MB%
HKR, Ndi\Params\ReceiveBufferSize\Enum,          "4096",         0, %4MB%
HKR, Ndi\Params\ReceiveBufferSize\Enum,          "8192",         0, %8MB%

; Send Buffer Size
HKR, Ndi\Params\SendBufferSize,                  ParamDesc,      0, %SendBufferSize%
HKR, Ndi\Params\SendBufferSize,                  type,           0, "enum"
HKR, Ndi\Params\SendBufferSize,                  default,        0, "1024"
HKR, Ndi\Params\SendBufferSize\Enum,             "1024",         0, %1MB%
HKR, Ndi\Params\SendBufferSize\Enum,             "2048",         0, %2MB%
HKR, Ndi\Params\SendBufferSize\Enum,             "4096",         0, %4MB%
HKR, Ndi\Params\SendBufferSize\Enum,             "8192",         0, %8MB%

; VLAN ID
HKR, Ndi\params\VlanID,                         ParamDesc,       0, %VlanID%
HKR, Ndi\params\VlanID,                         default,         0, "0"
HKR, Ndi\params\VlanID,                         type,            0, "long"
HKR, Ndi\params\VlanID,                         min,             0, "0"
HKR, Ndi\params\VlanID,                         max,             0, "4095"
HKR, Ndi\params\VlanID,                         step,            0, "1"
HKR, Ndi\params\VlanID,                         base,            0, "10"

; RSS
HKR, Ndi\Params\*RSS,                           ParamDesc,      0, %RSS%
HKR, Ndi\Params\*RSS,                           type,           0, "enum"
HKR, Ndi\Params\*RSS,                           default,        0, "1"
HKR, Ndi\Params\*RSS\Enum,                      "0",            0, %CmnDisabled%
HKR, Ndi\Params\*RSS\Enum,                      "1",            0, %CmnEnabled%

[netvsc_Device.HW.AddReg]                            
HKR,,DeviceCharacteristics,0x10001,0x0100         ; Use same security checks on relative opens
HKR,,DedicatedProcessor,0x00010001,1              ; Use a dedicated processor for vmbus interrupts

; Allow generic-all access to Built-in administrators and Local system 
; and read/write to built-in users so they can retrieve network stats.
HKR,,Security,,"D:P(A;;GA;;;BA)(A;;GA;;;SY)(A;;GRGW;;;BU)"  

[netvsc_Parameters_AddReg]
HKR, Parameters\Wdf, DbgPrintOn,      0x00010001, 0
HKR, Parameters\Wdf, DbgBreakOnError, 0x00010001, 0

[netvsc60_Device.AddReg]
; IPv4 TCP Segmentation offload
HKR, Ndi\Params\*LsoV2IPv4,             ParamDesc,      0, %Ip4TcpLsoV2%
HKR, Ndi\Params\*LsoV2IPv4,             type,           0, "enum"
HKR, Ndi\Params\*LsoV2IPv4,             default,        0, "1"
HKR, Ndi\Params\*LsoV2IPv4\Enum,        "0",            0, %CmnDisabled%
HKR, Ndi\Params\*LsoV2IPv4\Enum,        "1",            0, %CmnEnabled%

; IPv6 TCP Segmentation offload
HKR, Ndi\Params\*LsoV2IPv6,             ParamDesc,      0, %Ip6TcpLsoV2%
HKR, Ndi\Params\*LsoV2IPv6,             type,           0, "enum"
HKR, Ndi\Params\*LsoV2IPv6,             default,        0, "1"
HKR, Ndi\Params\*LsoV2IPv6\Enum,        "0",            0, %CmnDisabled%
HKR, Ndi\Params\*LsoV2IPv6\Enum,        "1",            0, %CmnEnabled%

; IPSec capabilities (both IPv4 & IPv6)
HKR, Ndi\Params\*IPsecOffloadV2,        ParamDesc,      0, %IPsecOffloadV2%
HKR, Ndi\Params\*IPsecOffloadV2,        type,           0, "enum"
HKR, Ndi\Params\*IPsecOffloadV2,        default,        0, "3"
HKR, Ndi\Params\*IPsecOffloadV2\Enum,   "0",            0, %CmnDisabled%
HKR, Ndi\Params\*IPsecOffloadV2\Enum,   "1",            0, %IPsecAH%
HKR, Ndi\Params\*IPsecOffloadV2\Enum,   "2",            0, %IPsecESP%
HKR, Ndi\Params\*IPsecOffloadV2\Enum,   "3",            0, %IPsecAHESP%

; IPv4 RSC
HKR, Ndi\Params\*RscIPv4,               ParamDesc,      0, %Ip4Rsc%
HKR, Ndi\Params\*RscIPv4,               type,           0, "enum"
HKR, Ndi\Params\*RscIPv4,               default,        0, "1"
HKR, Ndi\Params\*RscIPv4\Enum,          "0",            0, %CmnDisabled%
HKR, Ndi\Params\*RscIPv4\Enum,          "1",            0, %CmnEnabled%

; IPv6 RSC
HKR, Ndi\Params\*RscIPv6,               ParamDesc,      0, %Ip6Rsc%
HKR, Ndi\Params\*RscIPv6,               type,           0, "enum"
HKR, Ndi\Params\*RscIPv6,               default,        0, "1"
HKR, Ndi\Params\*RscIPv6\Enum,          "0",            0, %CmnDisabled%
HKR, Ndi\Params\*RscIPv6\Enum,          "1",            0, %CmnEnabled%

[netvsc_ETW.AddReg]
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-Hyper-V-NETVSC/Diagnostic","OwningPublisher",0x0,"{152fbe4b-c7ad-4f68-bada-a4fcc1464f6c}"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-Hyper-V-NETVSC/Diagnostic","Enabled",0x00010001,0
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-Hyper-V-NETVSC/Diagnostic","Isolation",0x00010001,0
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-Hyper-V-NETVSC/Diagnostic","ChannelAccess",0x0,"O:BAG:SYD:(A;;0x2;;;S-1-15-2-1)(A;;0xf0007;;;SY)(A;;0x7;;;BA)(A;;0x7;;;SO)(A;;0x3;;;IU)(A;;0x3;;;SU)(A;;0x3;;;S-1-5-3)(A;;0x3;;;S-1-5-33)(A;;0x1;;;S-1-5-32-573)"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-Hyper-V-NETVSC/Diagnostic","Type",0x00010001,2

HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{152fbe4b-c7ad-4f68-bada-a4fcc1464f6c}",,0x0,"Microsoft-Windows-Hyper-V-Netvsc"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{152fbe4b-c7ad-4f68-bada-a4fcc1464f6c}","Enabled",0x00010001,1
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{152fbe4b-c7ad-4f68-bada-a4fcc1464f6c}\ChannelReferences\1",,0x0,"Microsoft-Windows-Hyper-V-NETVSC/Diagnostic"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{152fbe4b-c7ad-4f68-bada-a4fcc1464f6c}\ChannelReferences\1","Id",0x00010001,0x00000010
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{152fbe4b-c7ad-4f68-bada-a4fcc1464f6c}\ChannelReferences\1","Flags",0x00010001,0
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{152fbe4b-c7ad-4f68-bada-a4fcc1464f6c}\ChannelReferences\0",,0x0,"System"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{152fbe4b-c7ad-4f68-bada-a4fcc1464f6c}\ChannelReferences\0","Id",0x00010001,0x00000008
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{152fbe4b-c7ad-4f68-bada-a4fcc1464f6c}\ChannelReferences\0","Flags",0x00010001,0x00000001
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{152fbe4b-c7ad-4f68-bada-a4fcc1464f6c}\ChannelReferences",Count,0x00010001,2
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{152fbe4b-c7ad-4f68-bada-a4fcc1464f6c}","ResourceFileName",0x00020000,"%%SystemRoot%%\system32\drivers\netvsc.sys"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{152fbe4b-c7ad-4f68-bada-a4fcc1464f6c}","MessageFileName",0x00020000,"%%SystemRoot%%\system32\drivers\netvsc.sys"

HKLM, System\CurrentControlSet\Control\WMI\Autologger\EventLog-System\{152fbe4b-c7ad-4f68-bada-a4fcc1464f6c},Enabled,0x00010001,1
HKLM, System\CurrentControlSet\Control\WMI\Autologger\EventLog-System\{152fbe4b-c7ad-4f68-bada-a4fcc1464f6c},EnableLevel,0x00010001,0
HKLM, System\CurrentControlSet\Control\WMI\Autologger\EventLog-System\{152fbe4b-c7ad-4f68-bada-a4fcc1464f6c},EnableProperty,0x00010001,0x00000001
HKLM, System\CurrentControlSet\Control\WMI\Autologger\EventLog-System\{152fbe4b-c7ad-4f68-bada-a4fcc1464f6c},LoggerName,0x00000000,"EventLog-System"
; Note: The 0x000B0001 flag in the two entries below indicates the value is a REG_QWORD. This is not documented in MSDN!
HKLM, System\CurrentControlSet\Control\WMI\Autologger\EventLog-System\{152fbe4b-c7ad-4f68-bada-a4fcc1464f6c},MatchAnyKeyword,0x000B0001,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80
HKLM, System\CurrentControlSet\Control\WMI\Autologger\EventLog-System\{152fbe4b-c7ad-4f68-bada-a4fcc1464f6c},MatchAllKeyword,0x000B0001,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

; NumRssQueues
HKR, Ndi\Params\*NumRssQueues,                           ParamDesc,              0, %NumRssQueues%
HKR, Ndi\Params\*NumRssQueues,                           default,                0, "16"
HKR, Ndi\Params\*NumRssQueues,                           type,                   0, "int"
HKR, Ndi\Params\*NumRssQueues,                           min,                    0, "1"
HKR, Ndi\Params\*NumRssQueues,                           max,                    0, "64"
HKR, Ndi\Params\*NumRssQueues,                           step,                   0, "1"
HKR, Ndi\Params\*NumRssQueues,                           Optional,               0, "0"

; *RssBaseProcNumber
HKR, Ndi\params\*RssBaseProcNumber,             ParamDesc,              0, %RssBaseProcNumber%
HKR, Ndi\params\*RssBaseProcNumber,             type,                   0, "int"
HKR, Ndi\params\*RssBaseProcNumber,             default,                0, "0"
HKR, Ndi\params\*RssBaseProcNumber,             min,                    0, "0"
HKR, Ndi\params\*RssBaseProcNumber,             max,                    0, "63"
HKR, Ndi\params\*RssBaseProcNumber,             step,                   0, "1"
HKR, Ndi\params\*RssBaseProcNumber,             Optional,               0, "0"

; *RssMaxProcNumber
HKR, Ndi\params\*RssMaxProcNumber,             ParamDesc,              0, %RssMaxProcNumber%
HKR, Ndi\params\*RssMaxProcNumber,             type,                   0, "int"
HKR, Ndi\params\*RssMaxProcNumber,             default,                0, "63"
HKR, Ndi\params\*RssMaxProcNumber,             min,                    0, "0"
HKR, Ndi\params\*RssMaxProcNumber,             max,                    0, "63"
HKR, Ndi\params\*RssMaxProcNumber,             step,                   0, "1"
HKR, Ndi\params\*RssMaxProcNumber,             Optional,               0, "0"

; *MaxRssProcessors
HKR, Ndi\Params\*MaxRssProcessors,              ParamDesc,              0, %MaxRssProcessors%
HKR, Ndi\Params\*MaxRssProcessors,              type,                   0, "int"
HKR, Ndi\Params\*MaxRssProcessors,              default,                0, "16"
HKR, Ndi\Params\*MaxRssProcessors,              min,                    0, "1"
HKR, Ndi\Params\*MaxRssProcessors,              max,                    0, "64"
HKR, Ndi\Params\*MaxRssProcessors,              step,                   0, "1"
HKR, Ndi\Params\*MaxRssProcessors,              Optional,               0, "0"

; *RSSProfile
HKR, Ndi\Params\*RSSProfile,                    ParamDesc,              0, %RSSProfile%
HKR, Ndi\Params\*RSSProfile,                    type,                   0, "enum"
HKR, Ndi\Params\*RSSProfile,                    default,                0, "4"
HKR, Ndi\Params\*RSSProfile\Enum,               "1",                    0, %ClosestProcessor%
HKR, Ndi\Params\*RSSProfile\Enum,               "2",                    0, %ClosestProcessorStatic%
HKR, Ndi\Params\*RSSProfile\Enum,               "3",                    0, %NUMAScaling%
HKR, Ndi\Params\*RSSProfile\Enum,               "4",                    0, %NUMAScalingStatic%
HKR, Ndi\Params\*RSSProfile\Enum,               "5",                    0, %ConservativeScaling%

; Additional Receive Buffer Sizes
HKR, Ndi\Params\ReceiveBufferSize\Enum,          "16384",        0, %16MB%

; Additional Send Buffer Sizes
HKR, Ndi\Params\SendBufferSize\Enum,             "16384",        0, %16MB%
HKR, Ndi\Params\SendBufferSize\Enum,             "32768",        0, %32MB%
HKR, Ndi\Params\SendBufferSize\Enum,             "65536",        0, %64MB%
HKR, Ndi\Params\SendBufferSize\Enum,             "98304",        0, %96MB%
HKR, Ndi\Params\SendBufferSize\Enum,             "131072",       0, %128MB%

; Forwarding Optimization
HKR, Ndi\Params\ForwardingOptimization,                     ParamDesc,      0, %ForwardingOptimization%
HKR, Ndi\Params\ForwardingOptimization,                     type,           0, "enum"
HKR, Ndi\Params\ForwardingOptimization,                     default,        0, "0"
HKR, Ndi\Params\ForwardingOptimization\Enum,                "0",            0, %CmnDisabled%
HKR, Ndi\Params\ForwardingOptimization\Enum,                "1",            0, %CmnEnabled%

; Hyper-V Network Adapter Name
HKR, NDI\params\HyperVNetworkAdapterName,         ParamDesc,      0, %HyperVNetworkAdapterName%
HKR, NDI\params\HyperVNetworkAdapterName,         type,           0, "edit"
HKR, NDI\params\HyperVNetworkAdapterName,         LimitText,      0, "256"
HKR, NDI\params\HyperVNetworkAdapterName,         UpperCase,      0, "0"
HKR, NDI\params\HyperVNetworkAdapterName,         default,        0, ""
HKR, NDI\params\HyperVNetworkAdapterName,         optional,       0, "0"
HKR, NDI\params\HyperVNetworkAdapterName,         ReadOnly,       0, "1"

HKR, NDI\Params\*PacketDirect,              ParamDesc,  0, %PD_STR%
HKR, NDI\Params\*PacketDirect,              Type,       0, "enum"
HKR, NDI\Params\*PacketDirect,              Default,    0, "0"
HKR, NDI\Params\*PacketDirect\enum,         "0",        0, %CmnDisabled%
HKR, NDI\Params\*PacketDirect\enum,         "1",        0, %CmnEnabled%

;*****************************************
; Uninstallation sections
;*****************************************

[DefaultUninstall.Services]
DelService = netvsc,0x00000200

[DefaultUninstall]
DelFiles = netvsc_Drivers_Dir

[Strings]
;
;Non-Localizable
;
SPSVCINST_ASSOCSERVICE      = 0x00000002
MSFT                        = "Microsoft"
DiskId1                     = "Microsoft Hyper-V Network Adapter Installation Disk #1"
;
;Localizable
;
netvsc.DeviceDesc           = "Microsoft Hyper-V Network Adapter"
netvsc_eth.DeviceDesc       = "Microsoft Hyper-V Ethernet Network Adapter"
netvsc_wifi.DeviceDesc      = "Microsoft Hyper-V WiFi Network Adapter"
netvsc_mbb_gsm.DeviceDesc   = "Microsoft Hyper-V GSM MBB Network Adapter"
netvsc_mbb_cdma.DeviceDesc  = "Microsoft Hyper-V CDMA MBB Network Adapter"
netvsc_ppp.DeviceDesc       = "Microsoft Hyper-V VPN Network Adapter"
HyperVNetworkAdapterName    = "Hyper-V Network Adapter Name"
NetworkAddress              = "Network Address"
JumboPacket                 = "Jumbo Packet"
CmdDisabled                 = "Disabled"
Bytes4088                   = "4088 Bytes"
Bytes9014                   = "9014 Bytes"
Ip4IpChecksum               = "IPv4 Checksum Offload"
Ip4TcpChecksum              = "TCP Checksum Offload (IPv4)"
Ip6TcpChecksum              = "TCP Checksum Offload (IPv6)"
Ip4UdpChecksum              = "UDP Checksum Offload (IPv4)"
Ip6UdpChecksum              = "UDP Checksum Offload (IPv6)"
Ip4TcpLsoV2                 = "Large Send Offload Version 2 (IPv4)"
Ip6TcpLsoV2                 = "Large Send Offload Version 2 (IPv6)"
Ip4TcpLsoV1                 = "Large Send Offload Version 1 (IPv4)"
IPsecOffloadV2              = "IPSec Offload"
NetworkDirect               = "Network Direct (RDMA)"
IPsecAH                     = "Auth Header Enabled"
IPsecESP                    = "ESP Enabled"
IPsecAHESP                  = "Auth Header and ESP Enabled"
CmnEnabled                  = "Enabled"
CmnDisabled                 = "Disabled"
OflEnabledTx                = "Tx Enabled"
OflEnabledRx                = "Rx Enabled"
OflEnabledTxRx              = "Rx & Tx Enabled"
ReceiveBufferSize           = "Receive Buffer Size"
SendBufferSize              = "Send Buffer Size"
VlanID                      = "VLAN ID"
1MB                         = "1MB"
2MB                         = "2MB"
3MB                         = "3MB"
4MB                         = "4MB"
8MB                         = "8MB"
RSS                         = "Receive Side Scaling"
NumRssQueues                = "Maximum Number of RSS Queues"
RssBaseProcNumber           = "RSS Base Processor Number"
RssMaxProcNumber            = "Maximum RSS Processor Number"
MaxRssProcessors            = "Max Number of RSS Processors"
RSSProfile                  = "RSS Profile"
ClosestProcessor            = "Closest Processor"
ClosestProcessorStatic      = "Closest Processor Static"
NUMAScaling                 = "NUMA Scaling"
NUMAScalingStatic           = "NUMA Scaling Static"
ConservativeScaling         = "Conservative Scaling"
16MB                        = "16MB"
32MB                        = "32MB"
64MB                        = "64MB"
96MB                        = "96MB"
128MB                       = "128MB"
ForwardingOptimization      = "Forwarding Optimization"
PD_STR                      = "Packet Direct"
Ip4Rsc                      = "Recv Segment Coalescing (IPv4)"
Ip6Rsc                      = "Recv Segment Coalescing (IPv6)"
