;------------------------------------------------------------------------- ; netvmware.inf -- VMnet Drivers ; ; Copyright (c) 1993-1999, Microsoft Corporation ; Copyright (c) 2000-2002, VMware, Inc. ; ; Windows 2000 information file for: ; VMware host virtual ethernet interfaces and services ; ; Used by: ; The network class installer to install the components ;------------------------------------------------------------------------- ;------------------------------------------------------------------------- ; Version Section ;------------------------------------------------------------------------- [Version] Signature = "$Windows NT$" Class = Net ClassGUID = {4d36e972-e325-11ce-bfc1-08002be10318} Provider = %CompanyName% ; DriverVer=mm/dd/yyyy[,w.x.y.z] - most recent date of any file in the driver package ; XXX need way to update this date (and optionally version number, e.g., 05/28/2002,3.1.2) DriverVer = 05/28/2002 CatalogFile = vmnetx.cat [Manufacturer] %CompanyName% = VMware_Models ;------------------------------------------------------------------------- ; Device List ;------------------------------------------------------------------------- [VMware_Models] ; XXX Our hw-ids do not comply w/ the w2k DDK. They should at least begin ; with VMWARE_ --hpreg %VMnet0.DeviceDesc% = VMnet0_DDInstall, *VMnet0 %VMnet1.DeviceDesc% = VMnet1_DDInstall, *VMnet1 %VMnet2.DeviceDesc% = VMnet2_DDInstall, *VMnet2 %VMnet3.DeviceDesc% = VMnet3_DDInstall, *VMnet3 %VMnet4.DeviceDesc% = VMnet4_DDInstall, *VMnet4 %VMnet5.DeviceDesc% = VMnet5_DDInstall, *VMnet5 %VMnet6.DeviceDesc% = VMnet6_DDInstall, *VMnet6 %VMnet7.DeviceDesc% = VMnet7_DDInstall, *VMnet7 %VMnet8.DeviceDesc% = VMnet8_DDInstall, *VMnet8 %VMnet9.DeviceDesc% = VMnet9_DDInstall, *VMnet9 ;------------------------------------------------------------------------- ; User-defined (sub)sections for the devices ; The .Services subsection specifies which services to install when a ; particular device is installed --hpreg ;------------------------------------------------------------------------- [VMnet0_DDInstall] Characteristics = 0x1 ; NCF_VIRTUAL AddReg = VMnetx_Registry, VMnet0.params [VMnet0_DDInstall.Services] AddService = %Driver.Service.Name%, 2, Driver_Service, Driver_EventLog,, %Driver.EventLog.Name% [VMnet0.params] HKR,, VMnet, 0, "\DosDevices\VMnet0" [VMnet0_DDInstall.CoInstallers] AddReg = VMnet0_DDInstall.CoInstallers_AddReg ;CpyFiles = VMnet_CopyFiles ; Each named section referenced by a CopyFiles directive has one or more entries of the following form: [VMnet0_DDInstall.CoInstallers_AddReg] HKR,,CoInstallers32,0x00010000,"vnetprobelib.dll,VnetProbe0" [VMnet1_DDInstall] Characteristics = 0x1 ; NCF_VIRTUAL AddReg = VMnetx_Registry, VMnet1.params [VMnet1_DDInstall.Services] AddService = %Driver.Service.Name%, 2, Driver_Service, Driver_EventLog,, %Driver.EventLog.Name% ; Start an additional DHCPd service on this particular interface ; XXX This is hackish. It should always be installed, whether the VMware host ; virtual ethernet interfaces are installed or not --hpreg ; XXX Why don't we want to clobber anything? And why 0xF8 instead of ; 0x1F8? --hpreg ; AddService = %Dhcpd.Service.Name%, 0xF8, Dhcpd_Service, Dhcpd_EventLog,, %Dhcpd.EventLog.Name% ; Set flag to zero so WHQL tests don't report an error -- MattD AddService = %Dhcpd.Service.Name%, 0, Dhcpd_Service, Dhcpd_EventLog,, %Dhcpd.EventLog.Name% [VMnet1.params] HKR,, VMnet, 0, "\DosDevices\VMnet1" [VMnet1_DDInstall.CoInstallers] AddReg = VMnet1_DDInstall.CoInstallers_AddReg ;CpyFiles = VMnet_CopyFiles [VMnet1_DDInstall.CoInstallers_AddReg] HKR,,CoInstallers32,0x00010000,"vnetprobelib.dll,VnetProbe1" [VMnet2_DDInstall] Characteristics = 0x1 ; NCF_VIRTUAL AddReg = VMnetx_Registry, VMnet2.params [VMnet2_DDInstall.Services] AddService = %Driver.Service.Name%, 2, Driver_Service, Driver_EventLog,, %Driver.EventLog.Name% [VMnet2.params] HKR,, VMnet, 0, "\DosDevices\VMnet2" [VMnet2_DDInstall.CoInstallers] AddReg = VMnet2_DDInstall.CoInstallers_AddReg ;CpyFiles = VMnet_CopyFiles [VMnet2_DDInstall.CoInstallers_AddReg] HKR,,CoInstallers32,0x00010000,"vnetprobelib.dll,VnetProbe2" [VMnet3_DDInstall] Characteristics = 0x1 ; NCF_VIRTUAL AddReg = VMnetx_Registry, VMnet3.params [VMnet3_DDInstall.Services] AddService = %Driver.Service.Name%, 2, Driver_Service, Driver_EventLog,, %Driver.EventLog.Name% [VMnet3.params] HKR,, VMnet, 0, "\DosDevices\VMnet3" [VMnet3_DDInstall.CoInstallers] AddReg = VMnet3_DDInstall.CoInstallers_AddReg ;CpyFiles = VMnet_CopyFiles [VMnet3_DDInstall.CoInstallers_AddReg] HKR,,CoInstallers32,0x00010000,"vnetprobelib.dll,VnetProbe3" [VMnet4_DDInstall] Characteristics = 0x1 ; NCF_VIRTUAL AddReg = VMnetx_Registry, VMnet4.params [VMnet4_DDInstall.Services] AddService = %Driver.Service.Name%, 2, Driver_Service, Driver_EventLog,, %Driver.EventLog.Name% [VMnet4.params] HKR,, VMnet, 0, "\DosDevices\VMnet4" [VMnet4_DDInstall.CoInstallers] AddReg = VMnet4_DDInstall.CoInstallers_AddReg ;CpyFiles = VMnet_CopyFiles [VMnet4_DDInstall.CoInstallers_AddReg] HKR,,CoInstallers32,0x00010000,"vnetprobelib.dll,VnetProbe4" [VMnet5_DDInstall] Characteristics = 0x1 ; NCF_VIRTUAL AddReg = VMnetx_Registry, VMnet5.params [VMnet5_DDInstall.Services] AddService = %Driver.Service.Name%, 2, Driver_Service, Driver_EventLog,, %Driver.EventLog.Name% [VMnet5.params] HKR,, VMnet, 0, "\DosDevices\VMnet5" [VMnet5_DDInstall.CoInstallers] AddReg = VMnet5_DDInstall.CoInstallers_AddReg ;CpyFiles = VMnet_CopyFiles [VMnet5_DDInstall.CoInstallers_AddReg] HKR,,CoInstallers32,0x00010000,"vnetprobelib.dll,VnetProbe5" [VMnet6_DDInstall] Characteristics = 0x1 ; NCF_VIRTUAL AddReg = VMnetx_Registry, VMnet6.params [VMnet6_DDInstall.Services] AddService = %Driver.Service.Name%, 2, Driver_Service, Driver_EventLog,, %Driver.EventLog.Name% [VMnet6.params] HKR,, VMnet, 0, "\DosDevices\VMnet6" [VMnet6_DDInstall.CoInstallers] AddReg = VMnet6_DDInstall.CoInstallers_AddReg ;CpyFiles = VMnet_CopyFiles [VMnet6_DDInstall.CoInstallers_AddReg] HKR,,CoInstallers32,0x00010000,"vnetprobelib.dll,VnetProbe6" [VMnet7_DDInstall] Characteristics = 0x1 ; NCF_VIRTUAL AddReg = VMnetx_Registry, VMnet7.params [VMnet7_DDInstall.Services] AddService = %Driver.Service.Name%, 2, Driver_Service, Driver_EventLog,, %Driver.EventLog.Name% [VMnet7.params] HKR,, VMnet, 0, "\DosDevices\VMnet7" [VMnet7_DDInstall.CoInstallers] AddReg = VMnet7_DDInstall.CoInstallers_AddReg ;CpyFiles = VMnet_CopyFiles [VMnet7_DDInstall.CoInstallers_AddReg] HKR,,CoInstallers32,0x00010000,"vnetprobelib.dll,VnetProbe7" [VMnet8_DDInstall] Characteristics = 0x1 ; NCF_VIRTUAL AddReg = VMnetx_Registry, VMnet8.params [VMnet8_DDInstall.Services] AddService = %Driver.Service.Name%, 2, Driver_Service, Driver_EventLog,, %Driver.EventLog.Name% [VMnet8.params] HKR,, VMnet, 0, "\DosDevices\VMnet8" [VMnet8_DDInstall.CoInstallers] AddReg = VMnet8_DDInstall.CoInstallers_AddReg ;CpyFiles = VMnet_CopyFiles [VMnet8_DDInstall.CoInstallers_AddReg] HKR,,CoInstallers32,0x00010000,"vnetprobelib.dll,VnetProbe8" [VMnet9_DDInstall] Characteristics = 0x1 ; NCF_VIRTUAL AddReg = VMnetx_Registry, VMnet9.params [VMnet9_DDInstall.Services] AddService = %Driver.Service.Name%, 2, Driver_Service, Driver_EventLog,, %Driver.EventLog.Name% [VMnet9.params] HKR,, VMnet, 0, "\DosDevices\VMnet9" [VMnet9_DDInstall.CoInstallers] AddReg = VMnet9_DDInstall.CoInstallers_AddReg ;CpyFiles = VMnet_CopyFiles [VMnet9_DDInstall.CoInstallers_AddReg] HKR,,CoInstallers32,0x00010000,"vnetprobelib.dll,VnetProbe9" [SourceDisksNames] 1 = %DiskDescription%,"",, [SourceDisksFiles] vmnetx.sys = 1 [DestinationDirs] DefaultDestDir = 12 ; %windir%\System32\drivers VMnet_CopyFiles = 12 [VMnet_CopyFiles] ; COPYFLG_NOPRUNE (0x00002000) | COPYFLG_NOVERSIONCHECK (0x00000004) is nice, but everyone uses 2 vmnetx.sys,,,2 ; User-defined Registry section ; Registry settings common to all our devices ; In the contexts where this section is referenced, HKR is HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class\\ --hpreg [VMnetx_Registry] ; Associate a device driver service to the device --hpreg HKR, Ndi, Service, 0, %Driver.Service.Name% ; HKR, Ndi, CoServices, %FLG_ADDREG_TYPE_MULTI_SZ%,%Driver.Service.Name%,%Dhcpd.Service.Name% ; Binding interfaces ; XXX Maybe this one should be "ethernet" even for a virtual adapter, but ; does it really matter anyway? --hpreg HKR, Ndi\Interfaces, LowerRange, 0, "nolower" HKR, Ndi\Interfaces, UpperRange, 0, "ndis5" ; User-defined Service section ; Information for installing the device driver service --hpreg [Driver_Service] DisplayName = %Driver.Service.DispName% Description = %Driver.Service.Desc% ServiceType = 1 ; SERVICE_KERNEL_DRIVER StartType = 3 ; SERVICE_DEMAND_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ; XXX This probably assumes that the driver has been installed in the system's ; driver's directory. Who puts it there? Is it done via a .inf ; file with a DestinationDirs/CopyFiles directive? --hpreg ServiceBinary = %12%\vmnetx.sys LoadOrderGroup = NDIS Dependencies = VMnet ; depends on VMnet driver/service running ; User-defined EventLog section ; Setup of the event-logging of the device driver service --hpreg [Driver_EventLog] AddReg = Driver_EventLog_Registry ; User-defined Registry section ; Registry settings for the event-logging of the device driver service ; In the contexts where this section is referenced, HKR is HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\EventLog\%Driver.EventLog.Type%\%Driver.EventLog.Name% --hpreg [Driver_EventLog_Registry] ; XXX Shouldn't the 2nd path begin with %12% or some other dir-id? We should ; not hard-code the system's driver's directory --hpreg HKR,, EventMessageFile, 0x00020000, "%%SystemRoot%%\System32\IoLogMsg.dll;%%SystemRoot%%\System32\drivers\vmnetx.sys" HKR,, TypesSupported, 0x00010001, 7 ; User-defined Service section ; Information for installing the dhcpd service --hpreg [Dhcpd_Service] DisplayName = %Dhcpd.Service.DispName% Description = %Dhcpd.Service.Desc% ServiceType = 16 ; SERVICE_WIN32_OWN_PROCESS StartType = 2 ; SERVICE_AUTO_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %11%\vmnetdhcp.exe Dependencies = VMnet ; depends on VMnet driver/service running AddReg = Dhcpd_Service_Registry ; User-defined Registry section ; Registry settings for the dhcpd service ; In the contexts where this section is referenced, HKR is HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\%Dhcpd.Service.Name% --hpreg [Dhcpd_Service_Registry] HKR, Parameters, ConfFile, 0x00020000, "%%SystemRoot%%\System32\vmnetdhcp.conf" HKR, Parameters, LeaseFile, 0x00020000, "%%SystemRoot%%\System32\vmnetdhcp.leases" ; User-defined EventLog section ; Setup of the event-logging of the dhcpd service --hpreg [Dhcpd_EventLog] AddReg = Dhcpd_EventLog_Registry ; User-defined Registry section ; Registry settings for the event-logging of the dhcpd service ; In the contexts where this section is referenced, HKR is HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\EventLog\%Dhcpd.EventLog.Type%\%Dhcpd.EventLog.Name% --hpreg [Dhcpd_EventLog_Registry] ; XXX This assume that we have installed the executable in that ; directory --hpreg HKR,, EventMessageFile, 0x00020000, "%%SystemRoot%%\System32\vmnetdhcp.exe" HKR,, TypesSupported, 0x00010001, 7 ; System-defined section ; Last section by convention --hpreg [Strings] ; Constants Driver.Service.Name = "VMnetx" Driver.EventLog.Type = "System" ; default value Driver.EventLog.Name = "VMnetx" ; default value Dhcpd.Service.Name = "VMnetDHCP" Dhcpd.EventLog.Type = "System" ; default value Dhcpd.EventLog.Name = "VMnetDHCP" ; default value ; Localization (default locale) CompanyName = "VMware, Inc." VMnet0.DeviceDesc = "VMware Virtual Ethernet Adapter (for VMnet0)" VMnet1.DeviceDesc = "VMware Virtual Ethernet Adapter (basic host-only support for VMnet1)" VMnet2.DeviceDesc = "VMware Virtual Ethernet Adapter (for VMnet2)" VMnet3.DeviceDesc = "VMware Virtual Ethernet Adapter (for VMnet3)" VMnet4.DeviceDesc = "VMware Virtual Ethernet Adapter (for VMnet4)" VMnet5.DeviceDesc = "VMware Virtual Ethernet Adapter (for VMnet5)" VMnet6.DeviceDesc = "VMware Virtual Ethernet Adapter (for VMnet6)" VMnet7.DeviceDesc = "VMware Virtual Ethernet Adapter (for VMnet7)" VMnet8.DeviceDesc = "VMware Virtual Ethernet Adapter (Network Address Translation (NAT) for VMnet8)" VMnet9.DeviceDesc = "VMware Virtual Ethernet Adapter (for VMnet9)" Driver.Service.DispName = "VMware Virtual Ethernet Adapter Driver" Driver.Service.Desc = "Driver for VMware's virtual ethernet adapters" Dhcpd.Service.DispName = "VMware DHCP Service" Dhcpd.Service.Desc = "DHCP service for virtual networks" DiskDescription = "VMware install disk"