 /************************************************************************
*                                                                       *
*               INTEL CORPORATION PROPRIETARY INFORMATION               *
*  This software is supplied under the terms of a license agreement or  *
*  nondisclosure agreement with Intel Corporation and may not be copied *
*  or disclosed except in accordance with the terms of that agreement.   *
*  Copyright (c) 2008-2011 Intel Corporation. All Rights Reserved.       *
*                                                                       *
************************************************************************/
/***********************************************************************\
*
* NAME:	Ncs2ICr.mof	
* 
* DESCRIPTION: Master MOF file with class definitions for the 
*			   Intel PRO Network Adapters WMI Provider (802.3 schema).
*
* PREREQUISITE: Ncs2Cm.mof 
*
* NOTE:	This file generates language neutral MOF for IntelNCS2 namespace.
*		This file also generates ENU language specific MFL. 
*
\***********************************************************************/

#pragma namespace ("\\\\.\\Root\\IntelNCS2")

instance of __Win32Provider as $P
{
    Name    = "Ncs2" ;
    ClsId   = "{AF7799A5-A3E7-455C-92B5-8F9D7C127B15}" ;
	Pure = FALSE;
	ImpersonationLevel = 3;
    PerUserInitialization = TRUE;
    UnloadTimeout = "00000000000500.000000:000";
};    

instance of __MethodProviderRegistration
{
    Provider = $P;
};

instance of __InstanceProviderRegistration
{
    Provider = $P;
    SupportsPut = TRUE;
    SupportsGet = TRUE;
    SupportsDelete = TRUE;
    SupportsEnumeration = TRUE;
	QuerySupportLevels = { "WQL:UnarySelect" };
};


// ============================================================================
// Ethernet Adapter Base Class
// ============================================================================
[Abstract, Description("IANet_EthernetAdapter abstract base class objectifies "
"the general network characteristics of the Intel NIC. In this class, "
"the lower level networking properties are presented. Note that only the "
"network relationships are in this class. The controller characteristics "
"are presented separately."): Amended,  LOCALE(0x409)
]
class IANet_EthernetAdapter : CIM_EthernetAdapter
{
	[Override("NetworkAddresses"), MaxLen (64), 
	Description (
	"An array of strings indicating the network addresses for an adapter."):ToSubclass Amended,
	ArrayType ("Indexed"),
	MappingStrings {"MIF.DMTF|Network Adapter 802 Port|001.3"}:ToSubclass,
	ModelCorrespondence {"IANet_EthernetAdapter.NetworkAddressDescription"}:ToSubclass
	]
    string NetworkAddresses[];
    		

	[ Description (
	"MiniPortName represents the Win32 kernel mode service name of the adapter."):ToSubclass Amended
	]
	string MiniPortName;

	[Description (
	"MiniPortInstance distinguishes a network device from other devices of "
	"the same type on a machine. It is a unique string without any "
	"path-separator characters that contains serial-number information, "
	"if supported by the underlying bus, or some kind of location "
	"information. The format of the string is bus specific. "
	"It is persistent across system boots."):ToSubclass Amended
	]
	string MiniPortInstance;	
	 
};






// ============================================================================
// Physical Ethernet Adapter Class
// ============================================================================
[dynamic, provider("Ncs2"), IANet_ModuleIdentifier("Ncs2Core.dll"),  
Description("IANet_PhysicalEthernetAdapter concrete class objectifies "
"the general network characteristics of the Intel NIC. In this class, "
"the lower level networking properties are presented. Note that only the "
"network relationships are in this class. The controller characteristics "
"are presented separately."):Amended,  LOCALE(0x409)
]
class IANet_PhysicalEthernetAdapter : IANet_EthernetAdapter
{

[Description (
		 "PartNumber is the NIC's PBA manufacturing part number"):Amended
	]
   string PartNumber;

    [Description (
		 "SanMacAddress is the MAC address assigned by the SAN server"):Amended
	]
    string SanMacAddress;
    
    [Description (
		 "ETrackID is the EEPROM Version"):Amended
	]
    string ETrackID;

	[Description ("This setting has been deprecated and is no longer supported"):Amended,
		 ValueMap{"0" }:Amended,
		 Values {"This setting has been deprecated and is no longer supported"}:Amended]
    	uint16 PHYDevice;

	[Description ("This setting has been deprecated and is no longer supported"):Amended]
    	string OtherPhyDevice;
	
	[Description (
	"Bus Type indicates the bus type"):Amended,
	ValueMap{"0","1","2","3","4","5","6","7"}:Amended,
	Values {"Unknown","ISA","EISA","PCMCIA","CardBus","PCI","PCI-X","PCI Express"}:Amended
	]
	uint16 BusType;
	
	[Description (
	"Negotiated Link Width specifies the negotiated link width of the bus"):Amended,
	ValueMap{"0","1","2","4","8"}:Amended,
	Values{"Unknown","x1","x2","x4","x8"}:Amended
	]
	uint16 NegotiatedLinkWidth;
	
	[Description (
	"PortNumber indicates the port number on PCIe Quad port adapters"):Amended,
	ValueMap{"0","1","2","3"}:Amended,
	Values{"A","B","C","D"}:Amended
	]
	uint16 PortNumber;
	
	[Description (
	"MediaType indicates the media which interfaces to this phy"):Amended,
	ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9","10","11","12"}:Amended,
	Values {"Unknown", "Copper", "Fiber", "Phone Line", "CX4 Copper", "SFP+ Direct Attach", "SR Fiber", "LR Fiber", "KX/KX4 Backplane", "SerDes","Backplane","XAUI","SFP+ Active Direct Attach"} : Amended
	]
    	uint16 MediaType;

	[Description ("This setting has been deprecated and is no longer supported."):Amended]
   	string OtherMediaType;

		[ Description (
		"The Controller ID identifies the Ethernet controller that the adapter uses. "
		"Adapters with different DeviceIDs can have the same Controller ID"):Amended,
		ValueMap{
			"0", 
			"1", "3", "6", "7", "8", "11", "13", "20", "30", "31", "40", "50", "51", "52", "60", "62", "63",
			"65537", "65538", "65539", "65540", "65541", "65542", "65543", "65544", "65545", "65546", "65547", "65548", "65549", "65550", "65551", "65552", "65553", 
			"131073",
			"196609", "196610"
			}:Amended,
			Values {"Unknown", 

				/* 1 -> 63 */
				"Intel 82542 Controller",
				"Intel 82543 Controller",
				"Intel 82544 Controller",
				"Intel 82540 Controller",
				"Intel 82545 Controller",
				"Intel 82541 Controller",
				"Intel 82547 Controller",
				"Intel 82571 Controller",
				"Intel 82573 Controller",
				"Intel 82574 Controller",
				"Intel ESB2LAN Controller",
				"Intel ICH8 Controller",
				"Intel ICH9 Controller",
				"Intel ICH10 Controller",
				"Intel 82575 Controller",
				"Intel 82576 Controller",
				"Intel ADORAM_VIRTUAL Controller",
								
				/* 65537 -> 65553 */
				"Intel D100_A_STEP Controller",
				"Intel D100_B_STEP Controller",
				"Intel D100_C_STEP Controller",
				"Intel D101_A_STEP Controller",
				"Intel D101_B0_STEP Controller",
				"Intel D101M_A_STEP Controller",
				"Intel D101S_A_STEP Controller",
				"Intel D102_A_STEP Controller",
				"Intel D102_B_STEP Controller",
				"Intel D102_C_STEP Controller",
				"Intel D102_D_STEP Controller",
				"Intel D102_E_STEP Controller",
				"Intel D102_F_STEP Controller",
				"Intel 82562_G Controller",
				"Intel 82562_GZ Controller",
				"Intel 82562_GX_GT Controller",
				"Intel 82562 Controller",
				
				/* 131073 */			
				"Intel 82597 EX Controller",
								
				/* 196609 -> 196610 */
				"Intel 82598 Controller",
				"Intel 82599 Controller"
				
				
			}:Amended
		]
	uint32 ControllerID;



[Description (
 	"Adapter status specifies the current status of the adapter."):Amended,
	Bitmap{"1", "2", "4", "16", "32", "1024", "2048"}:Amended,
	Bitvalues {"Installed", "DriverLoaded", "HardwareMissing", 
    "HasDiag", "HasLink", "HasTCOEnabled", "DeviceError"}:Amended,
	ModelCorrespondence {"IANet_PhysicalEthernetAdapter.AdapterStatus"}
	]
    uint32 AdapterStatus;
    
[Description (
 	"EEE Link Status specifies the current EEE status of the link."):Amended,
	Bitmap{"0", "1", "2"}:Amended,
	Bitvalues {"No EEE", "EEE Negotiated", "EEE Negotiated and running LPI"}:Amended,
	ModelCorrespondence {"IANet_PhysicalEthernetAdapter.EEELinkStatus"}
	]
    uint64 EEELinkStatus;

[Override ("Capabilities"), Description (
	"Lists the capabilities of the device."):Amended, 
	ArrayType ("Indexed"),
	Values {
	/* 0 */ "Unknown", "Other", "AlertOnLan", "WakeOnLan", 
	/* 4 */ "Adapter Fault Tolerance", "Adaptive Load Balancing", 
	/* 6 */ "IPSec Offload", "ASF",
	/* 8 */  "Feature Not Supported", "Static Link Aggregation",
	/* 10 */ "IEEE 802.3ad Dynamic Link Aggregation", "Checksum Offload",
	/* 12 */ "Switch Fault Tolerance", "Feature Not Supported", "Feature Not Supported",
	/* 15 */ "Feature Not Supported", "Feature Not Supported", "Feature Not Supported",
	/* 18 */ "Feature Not Supported", "Feature Not Supported",
	/* 20 */ "Feature Not Supported", "Feature Not Supported",
	/* 22 */ "Feature Not Supported", "Feature Not Supported",	
	/* 24 */ "Feature Not Supported",
	/* 25 */ "Feature Not Supported", "Feature Not Supported",
	/* 27 */ "Feature Not Supported", "Feature Not Supported",
	/* 29 */ "TCO Capability", "Wake Up Capabilities", "IP Checksum Offload",
	/* 32 */ "10 Mbps", "100 Mbps", "1000 Mbps", "10000 Mbps",
	/* 36 */ "Teaming", "VLAN", "IEEE VLAN", "ISL VLAN", "Feature Not Supported",
	/* 41 */ "Identify Adapter Support", "Cable Test Support", "Diagnostic Support",
	/* 44 */ "Flash support", "ICH Support", "Usage Server", "Vendor Intel", "Feature Not Supported",
	/* 49 */ "Feature Not Supported", "PowerManagement Support", "Feature Not Supported",
	/* 52 */ "MFO", "Pass Through", "Quad-Port Support", "Dedicated MAC Address",
	/* 56 */ "Jumbo Frame Support","Feature Not Supported","Signal Quality Test", 
	/* 59 */ "Cable Offline Test", "Adapter is LOM", "Scalable Networking Pack Capability", 
	/* 62 */ "CB Platform Capability",
	/* 63 */ "iSCSI Capability",
	/* 64 */ "LinkSec Capability",
	/* 65 */ "DCB Capability",
	/* 66 */ "FCoE Capability","KX Module Capability",
	/* 68 */ "Virtual Machines Load Balancing",
	/* 69 */ "Performance Profile Support"
	} : Amended, 
	ModelCorrespondence {"IANet_PhysicalEthernetAdapter.CapabilityDescriptions"}
	]
    uint16 Capabilities[];

[Override ("CapabilityDescriptions"), Description (
	"An array of free-form strings providing more detailed "
	"explanations for any of the Physical Ethernet Adapter features "
	"indicated in the Capabilities array. Note, each entry of "
	"this array is related to the entry in the Capabilities "
	"array that is located at the same index."):Amended, 
	ArrayType ("Indexed"), 
	ModelCorrespondence {"IANet_PhysicalEthernetAdapter.Capabilities"}
	]
    string CapabilityDescriptions[];

[ Description (
	"Hardware status specifies the current status of the hardware"):Amended,
	Values {"Unknown", "Ready", "Initializing", "Reset", 
	"Closing", "Not Ready" }: Amended
	]
	uint32 HardwareStatus;

[Description (
	"This setting has been deprecated and is no longer supported."):Amended,
	ModelCorrespondence {"IANet_PhysicalEthernetAdapter.OtherEnabledCapabilityIDs"}
	]
	uint16 OtherEnabledCapabilityIDs[];

	[Description ("This setting has been deprecated and is no longer supported."):Amended,
	ModelCorrespondence {"IANet_PhysicalEthernetAdapter.OtherEnabledCapabilities"}
	]
	string OtherEnabledCapabilities[];

	[Description ("This setting has been deprecated and is no longer supported."):Amended,
	ModelCorrespondence {"IANet_PhysicalEthernetAdapter.OtherEnabledCapabilities"}
	]
	string OtherCapabilityDescriptions[];


	[Description (
        "SlotID field of the System Slot structure provides a mechanism to correlate the "
	"physical attributes of the slot to its logical access method."):Amended
	]
   	string SlotID;

	[Description (
	"EEPROMVersion contains the EEPROM version of the device."):Amended
	]
	string EEPROMVersion;

	[Description(
	"Original display name of the adapter. "):Amended]
	string OriginalDisplayName;

	[Description (
	"PCI device Id of the device."):Amended
	]
	string PCIDeviceID ;

	[Description (
	"GetHbaPath will return the path to the corresponding HBA's instance "
	"in Device Mananger."):Amended, implemented 
	]
	uint32 GetHbaPath( [out] string HbaPath);	

	[Description (
	"IsFcoePagingFileLocatedOnTarget will return whether or not the port "
	"has an FCoE paging file on a remote target."):Amended, implemented 
	]
	uint32 IsFcoePagingFileLocatedOnTarget( [out] boolean bHasRemotePagingFile);	


[Description (
	"IdentifyAdapter will flash the light on the adapter for a few "
	"seconds to enable the user to identify it.  This method will only "
	"work for physical adapters."):Amended, implemented 
	]
	uint32 IdentifyAdapter( [in] uint16 nSeconds );	


	[Description (
	"GetPowerUsageOptions detects any optional power usage settings. "
	"For example, power usage for standby, battery operation etc."  
	):Amended, implemented, 
	ModelCorrespondence {"IANet_PhysicalEthernetAdapter.GetPowerUsageOptions"}
	]
	uint32 GetPowerUsageOptions(
	  	[OUT,
        ValueMap {"0","1"}: Amended , 
        Values {"Disabled", "Enabled"}: Amended
	] 
		uint32 AutoPowerSaveModeEnabled,
		[OUT,
        ValueMap {"0","1"}: Amended , 
        Values {"Disabled", "Enabled"}: Amended
	] 
		uint32 ReduceSpeedOnPowerDown,
		[OUT,
        ValueMap {"0","1"} : Amended, 
        Values {"Disabled", "Enabled"}: Amended
	] 
		uint32 SmartPowerDown,
		[OUT,
        ValueMap {"1","2"}: Amended , 
        Values {"Normal Power", "Low Power"}: Amended
	]
		 uint32 SavePowerNowEnabled,
	[OUT,
		 ValueMap {"0","1"}: Amended , 
        Values {"Disabled", "Enabled"}: Amended
	]
		 uint32 EnhancedASPMPowerSaver,
	[OUT,
        ValueMap {"0","1"} : Amended, 
        Values {"Disabled", "BatteryMode"}: Amended
	] 
		uint32 ACBSMode,
	
	[OUT,
        ValueMap {"0","1"} : Amended, 
        Values {"Disabled", "Enabled"}: Amended
	] 
		uint32 LinkSpeedBatterySaver,
	[OUT,
        ValueMap {"0","1"} : Amended, 
        Values {"Disabled", "Enabled"}: Amended
	] 
		uint32 SystemIdlePowerSaver
	);

	[Description (
	"This method can be used to makes changes to the power usage options. "
	"For example, this method could be used to reduce power usage for "
	"standby, battery operation etc. Note power usage settings are "
	"stored and used for every boot."
	):Amended, implemented, 
	ModelCorrespondence {"IANet_PhysicalEthernetAdapter.SetPowerUsageOptions"} 
	]
	uint32 SetPowerUsageOptions(
	 	[IN,
        ValueMap {"0","1"}: Amended , 
        Values {"Disabled", "Enabled"}: Amended
	] 
		uint32 AutoPowerSaveModeEnabled,
		[IN,
        ValueMap {"0","1"}: Amended , 
        Values {"Disabled", "Enabled"}: Amended
	] 
		uint32 ReduceSpeedOnPowerDown,
		[IN,
        ValueMap {"0","1"}: Amended , 
        Values {"Disabled", "Enabled"}: Amended
	] 
		uint32 SmartPowerDown,
		[IN,
        ValueMap {"1","2"}: Amended , 
        Values {"Normal Power", "Low Power"}: Amended
	]
		 uint32 SavePowerNowEnabled,
		[IN,
		 ValueMap {"0","1"}: Amended , 
        Values {"Disabled", "Enabled"}: Amended
	]
		 uint32 EnhancedASPMPowerSaver,
	[IN,
		 ValueMap {"0","1"}: Amended , 
        Values {"Disabled", "BatteryMode"}: Amended
	]
		 uint32 ACBSMode,		 
	[IN,
		 ValueMap {"0","1"}: Amended , 
        Values {"Disabled", "Enabled"}: Amended
	]
		 uint32 LinkSpeedBatterySaver,

	[IN,
        ValueMap {"0","1"} : Amended, 
        Values {"Disabled", "Enabled"}: Amended
	] 
		uint32 SystemIdlePowerSaver

	);	

	[Description (
	"GetWakeOnLanPowerOptions returns WakeOnLan power settings. "
	"For example, information about wakeonlink, wakeonmagicpacket etc.."  
	):Amended, implemented, 
	ModelCorrespondence {"IANet_PhysicalEthernetAdapter.GetWakeOnLanPowerOptions"}
	]
	uint32 GetWakeOnLanPowerOptions(
	  	[OUT,
        ValueMap {"0","1"}: Amended , 
        Values {"Disabled", "Enabled"}: Amended
	] 
		uint32 WakeFromPowerOff,
		[OUT,
        ValueMap {"0","1"}: Amended , 
        Values {"Disabled", "Enabled"}: Amended
	] 
		uint32 WakeOnLink,
		[OUT,
        ValueMap {"0","1"} : Amended, 
        Values {"Disabled", "Enabled"}: Amended
	] 
		uint32 WakeOnMagicPacket,
		[OUT,
        ValueMap {"0","1"}: Amended , 
        Values {"Disabled", "Enabled"}: Amended
	]
		 uint32 WakeOnDirectedPacket,
		 [OUT,
        ValueMap {"0","1"}: Amended , 
        Values {"Disabled", "Enabled"}: Amended
	]
		 uint32 WakeOnPattern
	);
	[Description (
	"This method can be used to makes changes to the WakeOnLan options. "
	"For example, this method could be used to set options like "
	"wakefromPoweroff, wakeOnlink, WakeOnMagicPacket, WakeOnDirectedPacket etc."
	" Note WakeOnLan settings are stored and used for every boot."
	):Amended, implemented, 
	ModelCorrespondence {"IANet_PhysicalEthernetAdapter.SetWakeOnLanPowerOptions"} 
	]
	uint32 SetWakeOnLanPowerOptions(
	 	[IN,
        ValueMap {"0","1"}: Amended , 
        Values {"Disabled", "Enabled"}: Amended
	] 
		uint32 WakeFromPowerOff,
		[IN,
        ValueMap {"0","1"}: Amended , 
        Values {"Disabled", "Enabled"}: Amended
	] 
		uint32 WakeOnLink,
		[IN,
        ValueMap {"0","1"}: Amended , 
        Values {"Disabled", "Enabled"}: Amended
	] 
		uint32 WakeOnMagicPacket,
		[IN,
        ValueMap {"0","1"}: Amended , 
        Values {"Disabled", "Enabled"}: Amended
	]
		 uint32 WakeOnDirectedPacket,
		[IN,
        ValueMap {"0","1"}: Amended , 
        Values {"Disabled", "Enabled"}: Amended
	]
		 uint32 WakeOnPattern

	);
	[Description (
	"This method is used to makes changes to the Power management"
	"capabilities during DMIX install so that any upgrade scenarios from "
	"earlier releases will have the right options for all the WakeOnLAN"
	" options and DMIX will not have reinterpret them dynamically"
	):Amended, implemented, 
	ModelCorrespondence {"IANet_PhysicalEthernetAdapter.SetPowerMgmtCapabilities"} 
	]
	uint32 SetPowerMgmtCapabilities();
	[Description (
	"This method can be used to check if SetPowerMgmtCapabilities() needs to be called."
	):Amended, implemented, 
	ModelCorrespondence {"IANet_PhysicalEthernetAdapter.IsSetPowerMgmtCapabilitiesReq"} 
	]
	uint32 IsSetPowerMgmtCapabilitiesReq(
	 	[OUT] 
		boolean bIsSetRequired);
	[Description (
	"This method can be used to check if iSCSI is supported by the OS and iSCSI "
	"patch and hotfix are installed."
	):Amended, implemented, 
	ModelCorrespondence {"IANet_PhysicalEthernetAdapter.IsiSCSISupported"} 
	]
	uint32 IsiSCSISupported(
	 	[OUT] 
		boolean bIsiSCSIOS,
		[OUT]
		boolean bIsiSCSIPatch,
		[OUT]
		boolean bIsiSCSIHotFix);		
	
	
	
	[Description 
	(
		"This method can be used to determine if the passed in setting will be changed when the new team is created."
		"Depending on the adapters in the team and which features each supports, the setting may be disabled to "
		"synchronize the setting accross all adapters in the team."
		):Amended, implemented,
		ModelCorrespondence {"IANet_PhysicalEthernetAdapter.ValidateSettingOnNewTeam"}
	]
	uint32 ValidateSettingOnNewTeam
	(
		[IN]    string Adapters[],
		[IN]	string SettingName,
		[OUT]   uint64 ValResult
	);	
	
	[Description 
	(
		"This method can be used to determine if any of the settings supported by the list of adapters passed in will be changed when the new team is created."
		"Depending on the adapters in the team and the features each device supports, a setting's value may need to change in order to "
		"synchronize the setting's value accross all devices in the team."
		):Amended, implemented,
		ModelCorrespondence {"IANet_PhysicalEthernetAdapter.ValidateSettingOnNewTeamEx"}
	]
	uint32 ValidateSettingOnNewTeamEx
	(
		[IN]    string Adapters[],
		[IN]	uint32 PerformanceProfile,
		[IN]	uint32 Reserved1,
		[IN]	uint32 Reserved2,
		[OUT]   uint64 ValResult
	);	
	
	[Description 
	(
		"This method determines if there is a common performance profile that is supported "
		"by all the devices passed in first parameter.  The method returns an array of the "
		"performance profiles are the supported by the new team."
		):Amended, implemented,
		ModelCorrespondence {"IANet_PhysicalEthernetAdapter.GetListOfSupportedPerformanceProfilesOnNewTeam"}
	]
	uint32 GetListOfSupportedPerformanceProfilesOnNewTeam
	(
		[IN]    string Adapters[],
		[OUT]	string PerformanceProfileNames[],
		[OUT]   uint32 PerformanceProfileValues[]
	);
	
	[Description 
	(
		"This method will be used during the installation of DMIX to setup the DCE service with the default DCB settings."
		):Amended, implemented,
		ModelCorrespondence {"IANet_PhysicalEthernetAdapter.SetupDCB_Defaults"}
	]
	uint32 SetupDCB_Defaults
	(
		[OUT]   uint32 ValResult
	);	
	
	
	[Description (
	"This method can be used to check if iSCSI is enabled on that adapter."

	):Amended, implemented, 
	ModelCorrespondence {"IANet_PhysicalEthernetAdapter.IsiSCSIEnabled"} 
	]
	uint32 IsiSCSIEnabled(
	 	[OUT,
        	Values {"0", "1", "2", "3"}: Amended
	]
		
	uint32 iSCSIStatus);


	[Description (
	"This method can be used to check if Macsec is enabled on that adapter."

	):Amended, implemented, 
	ModelCorrespondence {"IANet_PhysicalEthernetAdapter.IsMacsecEnabled"} 
	]
	uint32 IsMacsecEnabled(
	 	[OUT,
        	Values {"0", "1", "2"}: Amended
	]
		
	uint32 iMacsecStatus);

	[Description (
	"This method can be used to check if Macsec driver is bound to that adapter."

	):Amended, implemented, 
	ModelCorrespondence {"IANet_PhysicalEthernetAdapter.IsMacsecEnabledOnDevice"} 
	]
	uint32 IsMacsecEnabledOnDevice(
	 	[OUT] 
		boolean bMacsecBound);
	
    [Description (
	"This method can be used to check if AMT is enabled on adapter."

	):Amended, implemented, 
	ModelCorrespondence {"IANet_PhysicalEthernetAdapter.IsAmtEnabledOnDevice"} 
	]
	uint32 IsAmtEnabledOnDevice(
	 	[OUT] 
		boolean bAmtEnabled);

	[Description (
	"This method can be used to get the NDIS version"

	):Amended, implemented, 
	ModelCorrespondence {"IANet_PhysicalEthernetAdapter.GetNDISVersion"} 
	]
	uint32 GetNDISVersion(
	 	[OUT] 
		uint32 dwMajorVersion,
		[OUT]
		uint32 dwMinorVersion);
		
	[Description (
	"This method can be used check if the fan is running on the adapter.  NOTE:  not all devices support this functionality"

	):Amended, implemented, 
	ModelCorrespondence {"IANet_PhysicalEthernetAdapter.GetAdapterFanStatus"} 
	]
	uint32 GetAdapterFanStatus(
		[OUT,
			ValueMap {"0", "1", "2"}: Amended , 
			Values {"Not Supported", "Not Active", "Active"}: Amended
		]
		uint32 dwAdapterFanStatus);
		
	[Description (
	"This method can be used to check if warnings exist on the adapter.  NOTE:  not all devices support this functionality"

	):Amended, implemented, 
	ModelCorrespondence {"IANet_PhysicalEthernetAdapter.GetAdapterWarnings"} 
	]
	uint32 GetAdapterWarnings([OUT] UINT64 dwAdapterWarnings);
	
		
	[Description (
	"This method should be called during the installation when the FCoE feature is installed.  FCoE enabled adapter perform better with Jumbo Frames enabled."

	):Amended, implemented, 
	ModelCorrespondence {"IANet_PhysicalEthernetAdapter.EnableJumboFramesOnFcoeDevices"} 
	]
	uint32 EnableJumboFramesOnFcoeDevices();
	
	
	[Description (
	"This method is only to be called by the DMIX installer during a clean installation of DMIX or with the add or removal of the FCoE feature."

	):Amended, implemented, 
	ModelCorrespondence {"IANet_PhysicalEthernetAdapter.InitializePerformanceProfilesOnDevices"} 
	]
	uint32 InitializePerformanceProfilesOnDevices
	(
		[IN]    boolean bInitializeValues,
		[OUT]   uint64 ValResult
	);
	
	[Description ("This method validates settings the user has changed."):Amended, implemented,
	ModelCorrespondence {"IANet_PhysicalEthernetAdapter.ValidateSettingsModification"}
	]
	
	uint32 ValidateSettingsModification(
        [IN] SettingObj settings[],
        [OUT]   WarningMessageObj WarningMessages[]	
        );
        
        
};

// ============================================================================
// Intel IANetSetting Abstract Base Class
// ============================================================================
		[Abstract, 
		 Description("IANet_Setting objectifies instance related "
		 "driver and network device settings. IANet_Setting is an "
		 "Abstract superclass for a set of concrete classes of different "
		 "types.  This set of classes allows open ended usage of a variable "
		 "number of settings.  These can be different for different adapters, "
		 "teams or VLANs "
		 "and it may not always be possible to predict what parameters will "
		 "be required."):Amended,  LOCALE(0x409)
		]
class IANet_Setting : CIM_Setting
{
		[Key,Description(
		 "ParentId identifies the object that this parameter is for. " 
		 "This is used to ensure that the parameters have unique keys - applications "
		 "should use associations to link settings with managed elements.") : ToSubclass Amended
		]
	string ParentId;

	[Key,Description(
		 "ParentType identifies the type of object that this parameter is for. " 
		 "This can take one of the following values:\n"
		 "		VLAN - for VLAN settings\n"
		 "		NIC - for Adapter settings\n"
		 "		Team - for Team settings\n") :ToSubclass Amended]

	string ParentType;

		[Key,Description(
		 "Caption contains a short name for the parameter that is used to "
		 "uniquely identify the parameter for the user."):ToSubclass Amended]
	string Caption;

		[Description(
		 "Description is a longer string that describes the parameter for the user.")
		 :ToSubclass Amended
		]

     	string Description;

		[Description(
		 "MiniHelp is a help string for this setting."):ToSubclass Amended
		]
	string MiniHelp;

	[Description (
    "Expose level of setting. For example, based on the expose level "
	"management application could determine whether this setting could be "
	"exposed to the user.") : Amended,
		ValueMap{"0", "1"}:ToSubclass Amended,
		Values {"Zero", "One"}:ToSubclass Amended
	]	
	uint32 ExposeLevel;

		[Description(
		 "Writable is true if the setting can be changed and false if the setting "
		 "cannot be changed. If this attribute is NULL then the user needs to do a "
		 "pre-check to see if the setting can be saved."):ToSubclass Amended
		]
	boolean Writable;
	
	[Description(
		 "Some settings require a session to be set. If this is true then this "
		 "setting requires a session. The setting will not be saved until the Apply "
		 "method of IANet_NetService is called."):ToSubclass Amended
		]
	boolean RequiresSession;

	[Description(
		 "Some of the settings are grouped under specific categories."
		 "Grouped is true if the setting is grouped."):ToSubclass Amended
		]
	boolean Grouped;
	
	
	[Description(
		 "Some of the settings are grouped under specific categories."
		 "This attribute specifies the Id of the group under which this setting belongs."
		):ToSubclass Amended
		]
	uint16 GroupId;		
	
	[Description(
		 "This attribute specifies the Id of the setting detail under which this setting belongs."
		):ToSubclass Amended
		]
	uint64 DetailId;
	
};


// ============================================================================
// Intel IANet_AdapterSetting Abstract Base Class
// ============================================================================
		[Abstract, provider("Ncs2"), IANet_ModuleIdentifier("Ncs2Core.dll"),
		 Description("IANet_AdapterSetting objectifies Adapter instance related "
		 "driver and network device settings. IANet_AdapterSetting is an "
		 "Abstract superclass for a set of concrete classes of different "
		 "types.  This set of classes allows open ended usage of a variable "
		 "number of settings." 
		):Amended,  LOCALE(0x409)
		]
class IANet_AdapterSetting : IANet_Setting
{

};


// ============================================================================
// AdapterSetting Int Class
// ============================================================================

		[dynamic, provider("Ncs2"), IANet_ModuleIdentifier("Ncs2Core.dll"),  
		 Description("IANet_AdapterSettingInt objectifies Adapter related "
		 "driver and network device settings. IANet_AdapterSettingInt " 
		 "specifically handles Integer settings. The following "
		 "constraints are placed on the CurrentValue and default value:\n"
		 "	min <= CurrentValue <= max\n"
		 "	( CurrentValue - base ) is a multiple of step\n"):Amended,  LOCALE(0x409)]
class IANet_AdapterSettingInt : IANet_AdapterSetting
{
		[Description(
		 "Min is the minimum value that the integer can take."):Amended]
	sint64 min;

		[Description(
		 "Max is the maximum value that the integer can take."):Amended]
	sint64 max;

		[Description(
		 "Step is the granularity of the integer value."):Amended]
	sint64 step;

		[Description(
		 "Base is the root from which the integer value may take values. i.e. "
		 " CurrentValue - base is a multiple of step."):Amended]
	uint64 base;

		[Description(
		 "DefaultValue is the initial value of the parameter."):Amended]	
	sint64 DefaultValue;

		[Write, Description(
		 "CurrentValue is the actual value of the parameter - this is the only attribute that "
		 "the user can change."):Amended]	
	sint64 CurrentValue;

		[Description(
		 "Scale is unit of measurement to set or estimate series of marks "
		 "or points at known intervals to measure value of the parameter."):Amended]	
	sint64 Scale;
	
	[Description (
	"This method is called to check if the change in the setting will have any impact on other settings or to the user's experience."
	):Amended, implemented
	]
	uint32 ValidateSettingModification( [IN] sint64 CurrentValue, [OUT]   WarningMessageObj WarningMessages[]	);
	
};

// ============================================================================
//  Adapter Setting Enum Class
// ============================================================================
		[dynamic, provider("Ncs2"), IANet_ModuleIdentifier("Ncs2Core.dll"),  
		 Description("IANet_AdapterSettingEnum objectifies Adapter related "
		 "driver and network device settings. IANet_AdapterSettingEnum " 
		 "specifically handles Enumeration settings"):Amended,  LOCALE(0x409)
		]
class IANet_AdapterSettingEnum : IANet_AdapterSetting
{
		[Description(
		 "PossibleValues is an array of the possible values allowed for the enum."):Amended
		]	
	sint64 PossibleValues[];
		
		[Description(
		 "DescriptionMap describes what each value means."):Amended
		]	
	string DescriptionMap[];
		
		[write, Description(
		 "CurrentValue is the current setting for this parameter."):Amended
		]	 
	sint64 CurrentValue;
		
		[Description(
		 "DefaultValue is the initial setting for this value."):Amended
		]
	sint64 DefaultValue;
	
	[Description (
	"This method is called to check if the change in the setting will have any impact on other settings or to the user's experience."
	):Amended, implemented
	]
	uint32 ValidateSettingModification( [IN] sint64 CurrentValue, [OUT]   WarningMessageObj WarningMessages[]);
};

// ============================================================================
//  Adapter Setting Slider Class
// ============================================================================
    [dynamic, provider("Ncs2"), IANet_ModuleIdentifier("Ncs2Core.dll"),  
    Description("IANet_AdapterSettingSlider objectifies Adapter related "
    "driver and network device settings. IANet_AdapterSettingSlider " 
    "specifically handles Slider settings"):Amended,  LOCALE(0x409)
    ]
class IANet_AdapterSettingSlider : IANet_AdapterSetting
{
		[Description(
		 "PossibleValues is an array of all the possible values.  The values "
		 "should be arranged with the first value on the left of the slider and "
		 "the last value on the right. "):Amended
		]
	sint64 PossibleValues[];
		[write, Description(
		 "CurrentValue is the current setting for this parameter."):Amended
		] 
	sint64 CurrentValue;

		[Description(
		 "DefaultValue is the initial setting for this parameter."):Amended
		]
	sint64 DefaultValue;
		
		[Description(
		 "FirstLabel is the label that should be displayed on the left of the slider."):Amended
		]
	string FirstLabel;
		[Description(
		 "LastLabel is the label that should be displayed on the right of the slider."):Amended
		]
	string LastLabel;
	
	[Description (
	"This method is called to check if the change in the setting will have any impact on other settings or to the user's experience."
	):Amended, implemented
	]
	uint32 ValidateSettingModification( [IN] sint64 CurrentValue, [OUT]   WarningMessageObj WarningMessages[]	);
};

// ============================================================================
//  Adapter Setting Multi Selection Class
// ============================================================================
    [dynamic, provider("Ncs2"), IANet_ModuleIdentifier("Ncs2Core.dll"),  
    Description("IANet_AdapterSettingMultiSelection objectifies Adapter related "
    "driver and network device settings. IANet_AdapterSettingMultiSelection " 
    "specifically handles Multi Selection settings."):Amended,  LOCALE(0x409)
    ]

class IANet_AdapterSettingMultiSelection : IANet_AdapterSetting
{
		[Description(
		 "PossibleValues is an array of all the possible selections."):Amended
		]
	sint64 PossibleValues[];
		[Description(
		 "DescriptionMap is an array of descriptions of the possible selections."):Amended
		]
	string DescriptionMap[];
		[write, Description(
		 "Current value is a bit-wise OR of the currently chosen options from the "
		 "possible values."):Amended
		] 
	sint64 CurrentValue;

		[write, Description(
		 "Default value is a bit-wise OR of the default options from the "
		 "possible values."):Amended	
		] 
	sint64 DefaultValue;
	
	[Description (
	"This method is called to check if the change in the setting will have any impact on other settings or to the user's experience."
	):Amended, implemented
	]
	uint32 ValidateSettingModification( [IN] sint64 CurrentValue, [OUT]   WarningMessageObj WarningMessages[]	);
	
};

// ============================================================================
//  Adapter Setting String Class
// ============================================================================
		[dynamic, provider("Ncs2"), IANet_ModuleIdentifier("Ncs2Core.dll"),  
		 Description("IANet_AdapterSettingString objectifies Adapter related "
		 "driver and network device settings. IANet_AdapterSettingString " 
		 "specifically handles String settings."):Amended,  LOCALE(0x409)
		]
class IANet_AdapterSettingString : IANet_AdapterSetting
{
		[Description("MaxLength is the maximum length of the string."):Amended]
	uint32  MaxLength;

		[write, Description("CurrentString is the current value for the parameter."):Amended] 
	string  CurrentValue;

		[Description("DefaultString is the initial value for the parameter."):Amended]
	string  DefaultValue;
	
	[Description (
	"This method is called to check if the change in the setting will have any impact on other settings or to the user's experience."
	):Amended, implemented
	]
	uint32 ValidateSettingModification( [IN] string CurrentValue, [OUT]   WarningMessageObj WarningMessages[]	);
};

// ============================================================================
//  Adapter Setting Multi String Class
// ============================================================================
		[dynamic, provider("Ncs2"), IANet_ModuleIdentifier("Ncs2Core.dll"),  
		 Description("IANet_AdapterSettingMultiString objectifies Adapter related "
		 "driver and network device settings. IANet_AdapterSettingMultiString " 
		 "specifically handles Multi String settings."):Amended,  LOCALE(0x409)
		]
class IANet_AdapterSettingMultiString : IANet_AdapterSetting
{
		[Description("MaxLength is the maximum length of the string."):Amended]
	uint32  MaxLength;

		[write, Description("CurrentString is the current values for the parameter."):Amended] 
	string  CurrentValues[];

		[Description("DefaultString is the initial value for the parameter."):Amended]
	string  DefaultValue;
	
	[Description (
	"This method is called to check if the change in the setting will have any impact on other settings or to the user's experience."
	):Amended, implemented
	]
	uint32 ValidateSettingModification( [IN] string CurrentValues[], [OUT]   WarningMessageObj WarningMessages[]	);
};


// ============================================================================
// IANet_AdapterToSettingAssoc class
// ============================================================================
[   Association, Description("This class associates Intel NICs with their respective settings.")
                :Amended,  LOCALE(0x409),
    Dynamic,
    Provider("Ncs2"), IANet_ModuleIdentifier("Ncs2Core.dll")
]
class IANet_AdapterToSettingAssoc  : CIM_ElementSetting
{
   [  Override("Element"),
      Description ("The Adapter to which the Setting object belongs."):Amended
   ]
   IANet_PhysicalEthernetAdapter REF Element = NULL;
   [  Override("Setting"),
      Description ("The Setting belonging to the Adapter."):Amended
   ]
   IANet_AdapterSetting REF Setting = NULL;
};


// ============================================================================
// NetService class
// ============================================================================
// TO BE DECIDED:: The Save Restore functionality, if not at Component Level,
// then Save Restore functionality can be handled in this class. TBD
//=============================================================================
[dynamic, provider("Ncs2"), IANet_ModuleIdentifier("Ncs2Core.dll"), Description (
"IANet_NetService is used to manage the interface supported by the provider.  "
"All set operations require a unique Client handle in the context if they are to "
"succeed."):Amended,  LOCALE(0x409)
]
class IANet_NetService: CIM_Service
{
	[Description ("Version of Intel NCS software stack."):Amended]
	string Version;

	[Description ("The BeginApply method creates a new Client handle that can be used for any set operations on the IANet classes."
	   	      "Parameters:\n"
		      "		ClientSetHandle - returns the new Set handle\n"	
		      "Return code:\n"
		      "		0 if operation was successful\n"
		      "		non-zero if operation failed - check extended error status\n"
	):Amended, implemented] 
	uint32 BeginApply([OUT] uint32 ClientSetHandle);

	[Description ("The Apply method commits any changes that the user has made with a Client Set handle. "
		      "After this method is invoked the Client Set Handle is invalidated and a new handle needs to be acquired before the next Set operation"
	    	      "Parameters:\n" 
	              "		ClientSetHandle - Handle with which the set operations were performed\n"
		      "		FollowupAction - caller may be required to do something before changes will take effect.\n"
	              "Return code:\n"
	    	      "		0 if operation was successful\n"
		      "		non-zero if operation failed - check extended error status\n"
	):Amended, implemented]
	uint32 Apply([IN] uint32 ClientSetHandle,
		     [OUT,ValueMap {"0", "1"} :Amended, 
		          Values {"No Action Required", "Reboot"}: Amended] 
      		     uint32 FollowupAction);	

	[Description ("The IsDeviceRLB_Enabled method is used to determine if the miniport passed is a team with RLB enabled or a VLAN on a RLB team."
	):Amended, implemented] 
	uint32 IsDeviceRLB_Enabled([IN] string szDeviceName, [OUT] boolean bRLB_Blocking_VNIC);	

	[Description ("The GetPROSetWarnings method is used to determine if any warnings exist."
	):Amended, implemented] 
	uint32 GetPROSetWarnings([OUT] UINT64 Warnings);	

	[Description ("The GetUninstallBlockingErrors method is used to determine if an uninstall can occur."
	):Amended, implemented, static] 
	uint32 GetUninstallBlockingErrors([IN] uint32 Filter, [OUT]   WarningMessageObj WarningMessages[]);
	
	[Description ("The SynchronizeVmSwitchProtocolSetting method is used to synchronize the *RssOrVmqPreference setting across all base drivers in a team."
	):Amended, implemented] 
	uint32 SynchronizeVmSwitchProtocolSetting([IN] string szDeviceName, [IN] boolean bIsBinding);	
	
	[Description ("The ConfigureNewDevices method is used to configure recently installed devices with default settings."
	):Amended, implemented] 
	uint32 ConfigureNewDevices([IN] string szDevices[], [IN] UINT64 ConfigurationMask);
	
	[ArrayType ("Indexed"),
		Values {
			/* 0 */ "Virtual NICs cannot be created on a team with Receive Load Balancing enabled.  Disable Receive Load Balancing before creating a virtual NIC on this team.", 
			/* 1 */ "Reserved"
		} : Amended]
	uint16 VNIC_RLB_WarningMessage;

    [ArrayType ("Indexed"),
		Values {
			/* 0 */ "Virtual NICs cannot be created on a team with Receive Load Balancing enabled.  Receive Load Balancing will be disabled if you create a virtual NIC on this team.\n\nDo you want to continue?",
			/* 1 */ "Reserved"
		} : Amended]
	uint16 VNIC_DISABLE_RLB_WarningMessage;

	[ArrayType ("Indexed"),
		Values {
			/* 0 */ "Virtual NICs cannot be created on a team with Receive Load Balancing enabled.  Receive Load Balancing will be disabled on the team.",
			/* 1 */ "Reserved"
		} : Amended]
	uint16 VNIC_RLB_DIABLED_ON_TEAM_WarningMessage;
    
    
};


// ============================================================================
// Extended Status class
// ============================================================================
[Description (
"IANet_ExtendedStatus is used to return error information back to the "
"caller if something went wrong with an operation."):Amended,  LOCALE(0x409)
]
class IANet_ExtendedStatus : __ExtendedStatus 
{
		[Description (
		 "The code file name in the provider where the error occurred."
		 ):Amended]
	string File;

		[Description (
		 "The line number in the code file where the error occurred."
		 ):Amended]
	uint32 Line;
		[Description (
		 "The ClientSetHandle used in the call that caused the problem."
		 ):Amended]
	uint32 ClientSetHandle;

		[Description (
		 "If a technical rule has failed this array provides several strings "
		 "explaining the reasons for the failure. "
		 ):Amended]
	string RuleFailureReasons[];

};

class SettingObj
{
    string SettingName;
    string SettingValueList[];
    uint32 SettingType;
};


class WarningMessageObj
{
	uint32 ErrorCode;
    string MessageText;
    uint32 MessageType;
    uint32 MessageAction;
    uint32 reserved;
    string reserved2;
};

class WarningMessagesText
{
	[Override ("Warning Messages"), Description (
	"Lists all the possible warning messages."):Amended, 
	ArrayType ("Indexed"),
	Values {
	/*  0 */ "Success.", 
	/*  1 */ "Receive Load Balancing will be disabled because there is a virtual NIC on the team.", 
	/*  2 */ "A Switch Fault Tolerance team can include only two devices.",
	/*  3 */ "Cannot set team mode to VMLB.  The Hyper-V role is required.",
	/*  4 */ "All devices in a Static Link Aggregation team must be capable of running at the same speed.\nAt least one device in this team is not capable of running at a lower speed.",
	/*  5 */ "The team will lose connectivity momentarily.\n\nDo you want to continue?",
	/*  6 */ "This change modified a setting that was part of the profile.  The device is now configured to use Custom Settings instead of a profile.",
	/*  7 */ "This profile changed the Jumbo Frame/Jumbo Packet setting.  There may be a loss of connectivity if the Jumbo Frame/Jumbo Packet configuration for a device is incompatible with the switch settings.",
	/*  8 */ "You must restart your system for the configuration changes made to take effect. Click Yes to restart now or No if you plan to restart later.",
	/*  9 */ "Enabling IPSec Offloading will disable Large Send Offloading.\n\nDo you want to continue?",
	/*  A */ "RSS cannot be enabled while VMQ is enabled on this device.",
	/*  B */ "",
	/*  C */ "You cannot include more than 8 devices in a team.",
	/*  D */ "This team contains just one device.  Add another device to the team to utilize teaming functions.\n\nDo you want to continue?",
	/*  E */ "The devices included in this team do not support the team type selected.",		
	/*  F */ "",	
	/* 10 */ "",		
	/* 11 */ "",
	/* 12 */ "",
	/* 13 */ "This device has a VLAN with a virtual NIC bound to it.  You cannot team this device until you remove the virtual NIC.",
	/* 14 */ "",			
	/* 15 */ "Intel(R) PRO/100 and 10GbE devices cannot be part of the same team.",
	/* 16 */ "Each team must include at least one Intel server device or Intel integrated connection that supports teaming.",	
	/* 17 */ "Receive-Side Scaling is disabled for some devices and enabled for other devices.\n\nReceive-Side Scaling will be disabled for the team." ,		
	/* 18 */ "The team contains a device that does not support Receive-Side Scaling.  Receive-Side Scaling will be disabled for the team.",
	/* 19 */ "The team contains a device that does not support Receive-Side Scaling.  Receive-Side Scaling is disabled for the team.",
	/* 1A */ "This device’s implementation of RSS is incompatible with multi-vendor teaming. Receive-Side Scaling will be disabled for the team.\n\nDisabling Receive-Side Scaling will negatively impact the performance of the team.",
	/* 1B */ "One or more devices do not support true NDIS6.20 Receive-Side Scaling. Receive-Side Scaling will be disabled for the team.\n\nDisabling Receive-Side Scaling will negatively impact the performance of the team.",
	/* 1C */ "One or more devices do not support true NDIS6.20 Receive-Side Scaling. Receive-Side Scaling will be disabled for the team.\n\nDisabling Receive-Side Scaling will negatively impact the performance of the team.",	         	         	         
	/* 1D */ "This team does not support true NDIS6.20 Receive-Side-Scaling.  Receive-Side-Scaling will be disabled for this device and the team.\n\nDisabling Receive-Side Scaling will negatively impact the performance of the team.",				
	/* 1E */ "This team does not support true NDIS6.20 Receive-Side-Scaling.  Receive-Side-Scaling will be disabled for this device and the team.\n\nDisabling Receive-Side Scaling will negatively impact the performance of the team.",	
	/* 1F */ "This device does not support Receive-Side Scaling. Receive-Side Scaling will be disabled for the team.",			
	/* 20 */ "This team uses Receive-Side Scaling.  Adding a device that does not support Receive-Side Scaling to the team will disable Receive-Side Scaling for the team.\n\nDisabling Receive-Side Scaling will negatively impact the performance of the team.",		
	/* 21 */ "This device does not support Receive-Side Scaling.  Receive-Side Scaling will be disabled for the team.",		
	/* 22 */ "Receive-Side Scaling will be disabled for the team.  \n\nDo you want to continue?",		
	/* 23 */ "Receive-Side Scaling is disabled for one or more devices in the team.  Receive-Side Scaling will be disabled for the team.\n\nDo you want to continue?",	
	/* 24 */ "Enabling Receive-Side Scaling will enable it on all devices in the team.  \n\nDo you want to continue?",	
	/* 25 */ "Receive-Side Scaling cannot be enabled for this device because it is a member of a team with one or more devices that do not support true NDIS6.20 Receive-Side Scaling.",
	/* 26 */ "Receive-Side Scaling cannot be enabled for this device because it is in a team with other devices that do not support this feature.",	
	/* 27 */ "Receive-Side Scaling is disabled for the device being added to the team.  Receive-Side Scaling will be disabled for the team.",	
	/* 28 */ "Receive-Side Scaling is disabled for the device being added to the team.  Receive-Side Scaling will be disabled for the team.",		
	/* 29 */ "This team contains a device that does not support Receive-Side Scaling and therefore cannot use Receive-Side Scaling.  Receive-Side Scaling is disabled for the team.",		
	/* 2A */ "One or more devices have a Receive-Side Scaling implementation that is incompatible with multi-vendor teaming.\n\nReceive-Side Scaling will be disabled for the team.",	
	/* 2B */ "Receive-Side Scaling is disabled for some devices and enabled for other devices.\n\nReceive-Side Scaling will be disabled for the team.",	
	/* 2C */ "Receive-Side Scaling is disabled for one or more devices in the team.  Receive-Side Scaling will be disabled for the team.",		
	/* 2D */ "One or more devices in the team do not support Receive-Side Scaling.  Receive-Side Scaling will be disabled for the team.", 
	/* 2E */ "This device does not support Receive-Side Scaling.  Receive-Side Scaling will be disabled for the team.",		
	/* 2F */ "One or more devices in the team do not support true NDIS6.20 Receive-Side Scaling.\n\nReceive-Side Scaling will be disabled for the team.",	
	/* 30 */ "One or more devices in the team do not support true NDIS6.20 Receive-Side Scaling. Receive-Side Scaling will be disabled for the team.\n\nDisabling Receive-Side Scaling will negatively impact the performance of the team.",							
	/* 31 */ "One or more devices in the team do not support Virtual Machine Queues. Virtual Machine Queues capability will be disabled for all team members.\n\nDo you want to continue?",				
	/* 32 */ "Virtual Machine Queues are disabled for one or more devices in the team. Virtual Machine Queues capability will be disabled for all team members.\n\nDo you want to continue?",		
	/* 33 */ "This device has Virtual Machine Queues enabled; however, Virtual Machine Queues is disabled for the team.  Adding this device to the team will disable Virtual Machine Queues on the device.\n\nDo you want to continue?",			
	/* 34 */ "This device does not support Virtual Machine Queues.  Virtual Machine Queues capability will be disabled for the team.\n\nDo you want to continue?",		
	/* 35 */ "Virtual Machine Queues are disabled for the device being added to the team. Virtual Machine Queues capability will be disabled for the team.\n\nDo you want to continue?",				
	/* 36 */ "Enabling Virtual Machine Queues on this device will enable it on all devices in the team.\n\nDo you want to continue?",			
	/* 37 */ "Disabling Virtual Machine Queues on this device will disable Virtual Machine Queues capability for the team.\n\nDo you want to continue?",		
	/* 38 */ "Virtual Machine Queues cannot be enabled for this device because it is in a team with other devices that do not support this feature.",					
	/* 39 */ "This device has Virtual Machine Queues enabled; however, Virtual Machine Queues is not supported on the team.  Adding this device to the team will disable Virtual Machine Queues on the device.\n\nDo you want to continue?",					
	/* 3A */ "All devices in a team must have the same value for Jumbo Frames/Jumbo Packets. The Jumbo Frames/Jumbo Packets setting for devices in this team will be changed automatically.",	
  	/* 3B */ "The Jumbo Frame/Jumbo Packets size of the device being added to the team does not match the value for the team.  The size for the team will be changed to match that of the new device.",  	  	
  	/* 3C */ "This device does not support Jumbo Frames/Jumbo Packets.  Jumbo Frames/Jumbo Packets will be disabled for all devices in the team.",  	  	
    /* 3D */ "The team does not support Jumbo Frames/Jumbo Packets.  Jumbo Frames/Jumbo Packets will be disabled for this device.",        
    /* 3E */ "This device does not support Jumbo Frames/Jumbo Packets.  Jumbo Frames/Jumbo Packets will be disabled for all devices in the team.",
    /* 3F */ "Cannot enable Jumbo Frame/Jumbo Packets because another device teamed with this device does not support this feature.",       
    /* 40 */ "Cannot enable Jumbo Frame/Jumbo Packets because another device teamed with this device does not support this feature.",
    /* 41 */ "The devices in this team use Jumbo Frames/Jumbo Packets. You are adding a device that does not support Intel® PROSet. Jumbo Frames/Jumbo Packets will automatically be disabled on the devices currently in the team. You must disable Jumbo Frames/Jumbo Packets for the additional devices.",            
    /* 42 */ "All devices in a team must have the same value for Jumbo Frames/Jumbo Packets. The Jumbo Frames/Jumbo Packets setting for devices in this team will be changed automatically.",        
    /* 43 */ "The profile cannot be selected because there is a team member that does not support the profile.",
    /* 44 */ "The profile will be changed to Custom Settings on all team members that support profiles.\n\nDo you want to continue?",    
	/* 45 */ "All devices in the team will be configured to use the new profile.\n\nDo you want to continue?",      
    /* 46 */ "A new member does not support the profile that is configured for the team.    The team will be configured to use the Standard Server profile.  The team will lose connectivity momentarily.\n\nDo you want to continue?",
    /* 47 */ "The profile will be applied to other devices in the team.  The team will lose connectivity momentarily.\n\nDo you want to continue?",	                    
    /* 48 */ "Some team members have DCB disabled. DCB will be disabled on all members of the team.",        					
    /* 49 */ "DCB is disabled for the team.  DCB will be disabled on the device being added to the team.",	        	
    /* 4A */ "DCB is disabled on a device being added to the team.  DCB will be disabled for the team.",		    				
    /* 4B */ "DCB will be enabled for all members of the team.",
    /* 4C */ "DCB cannot be enabled on this device because some devices in the team are not DCB capable.",        
    /* 4D */ "One or more devices do not support DCB. DCB will be disabled on all members of the team.\n\nDo you want to continue?",           
    /* 4E */ "This device is bound to Cisco AnyConnect. Adding it to a team will unbind it. You will lose all AnyConnect functionality, including MACsec. The device may lose link.\n\nDo you want to continue?",        
    /* 4F */ "This device is configured  to access the remote management features of this system.  If system management features are enabled, network access to them will be lost.  Other network traffic will be handled by the team.\n\nDo you want to continue?",       
    /* 50 */ "A device being added to the team does not support Large Send Offload (LSO) capability over IPv6 connections. LSO over IPv6 connections will be disabled for the team.\n\nDo you want to continue?",
    /* 51 */ "A device being added to the team does not support Large Send Offload (LSO) capability over IPv4 connections. LSO over IPv4 connections will be disabled for the team.\n\nDo you want to continue?",					
    /* 52 */ "Changing Large Send Offload will set the same value for all devices in the team.\n\nDo you want to continue?",	
    /* 53 */ "Large Send Offload (LSO) is disabled on a device being added to the team. LSO will be disabled for the team.\n\nDo you want to continue?",					            
    /* 54 */ "Large Send Offload (LSO) cannot be enabled because one or more members of the team do not support LSO.",	        			
    /* 55 */ "Changing Large Send Offload will set the same value for all devices in the team.\n\nDo you want to continue?",        
    /* 56 */ "",
    /* 57 */ "Removing this device will leave just one device in the team.",
    /* 58 */ "The device being removed has one or more VLANs configured. Removing the device will remove the VLANs.\n\nDo you want to continue?",        
    /* 59 */ "Removing a device from a team with VLANs. VLANs will be removed and QoS packet tagging will be disabled for the device.\n\nDo you want to continue?",            
    /* 5A */ "The team will be removed.\n\nDo you want to continue?",    
    /* 5B */ "Removing this team will remove all VLANs configured on the team.\n\nDo you want to continue?",    
    /* 5C */ "Removing this team will remove all VLANs configured on the team and disable QoS packet tagging.\n\nDo you want to continue?",
    /* 5D */ "Each team must include at least one Intel server device or Intel integrated connection that supports teaming.\n\nDo you want to remove this device and remove the team?",
    /* 5E */ "A team name cannot contain tabs or any of the following characters: *:><|?""/\\",
    /* 5F */ "The specified team name already exists. Please enter a different name.",
    /* 60 */ "The team name cannot exceed 48 characters.",
    /* 61 */ "Type a name for this team.",
    /* 62 */ "A team name cannot begin with a space character.",
    /* 63 */ "The VLANs on this adapter cannot be moved to the team because the team has a Virtual NIC bound to it.\n\nDo you want to add this adapter to the team?",
    /* 64 */ "Changing Jumbo Frames/Jumbo Packets will set the same value for the base adapter.\n\nDo you want to continue?",
    /* 65 */ "Large Send Offload (LSO) is disabled for one or more devices in the team.  LSO will be disabled for all team members.\n\nDo you want to continue?",
    /* 66 */ "This device is part of a team that contains one or more devices that do not support Intel® PROSet and may not support Large Send Offload (LSO). LSO will not be enabled for this device or on this team.",
    /* 67 */ "LSO over IPv6 is not supported by the team.  LSO over IPv6 will be disabled on this device.\n\nDo you want to continue?",
    /* 68 */ "A device has Intel(R) Active Management Technology enabled and cannot be included in a team.",
    /* 69 */ "This device has Intel(R) Active Management Technology enabled and cannot be included in a team.",
    /* 6A */ "Teams support a maximum of 64 VLANs. The selected devices have more unique VLANs bound to them than are supported. Please remove the excess VLANs and try again.",
    /* 6B */ "Receive Side Scaling cannot be enabled while SR-IOV is enabled on this device.",
    /* 6C */ "Intel PROSet is configured with a device, team, or VLAN that is bound to a virtual NIC.  Intel PROSet cannot be uninstalled with this configuration.  Please remove the virtual NIC and then attempt the uninstall or upgrade again.",
    /* 6D */ "The system’s virtual memory paging file is configured to use an FCoE drive. You must configure it to use a local drive before you can uninstall the device drivers.",
    /* 6E */ "Intel(R) adapters configured as FCoE Boot devices are present in this system. You must change the Boot Order setting to ‘Not Set’ on all Intel Adapters before you can uninstall the device drivers.",
    /* 6F */ "Intel(R) Adapters configured as iSCSI Boot Primary or Secondary devices are present in this system. You must change the Boot Priority setting to Disabled on all Intel Adapters before you can uninstall the device driver.",
    /* 70 */ "There is a TCP Receive Segment Coalescing capabilities mismatch between the devices in the team. TCP Receive Segment Coalescing will be disabled for all members of the team. Do you want to continue?",
    /* 71 */ "TCP Receive Segment Coalescing cannot be enabled on this device because it is a member of a team that does not support TCP Receive Segment Coalescing.",
    /* 72 */ "Changing TCP Receive Segment Coalescing on this device will change all members of the team to match. Do you want to continue?",
    /* 73 */ "OS Controlled is not supported on devices that are members of a team.",
    /* 74 */ "One or more devices is part of a Load Balancing and Failover (LBFO) team and cannot be teamed.",
    /* 75 */ "One or more devices' DCB setting is currently OS Controlled and cannot be teamed."
	} : Amended]
    uint16 WarningMessagesArray[];
};


