Getting the Current Configuration

The client does not need to get a session handle to read the current configuration. Clients can use a NULL context, however, any error messages will be returned in the default language for the managed machine. In the following table, items enclosed in { } are object paths. These paths are assumed to have been obtained from previous WQL queries. The client should never need to construct an object path without doing a query. The __PATH attribute of every object contains the object path for that object.

In all the following use cases, the methods IWbemServices::ExecQuery or IWbemServices::ExecQueryAsync are used to execute WQL queries.

Getting the Physical Adapters

The main class for the adapters is IANet_EthernetAdapter. This class is used for both physical and virtual adapters, and the client needs to know how to distinguish between them.

Task

WQL Query

Result Class

Comment

Enumerate all adapters

SELECT * FROM IANet_EthernetAdapter

IANet_EthernetAdapter

Returns all IANet_EthernetAdapters.  This is equivalent to IWbemServices::CreateInstanceEnumAsync.

Determine if adapter is virtual

ASSOCIATORS OF {adapter path}

     WHERE AssocClass = IANet_NetworkVirtualAdapter

IANet_TeamOfAdapters

If the query results in no classes then the adapter is a real adapter.

Determine if adapter is a phantom adapter

ASSOCIATORS OF {adapter path}

     WHERE ResultClass = IANet_EthernetPCIDevice

IANet_EthernetPCIDevice

If the adapter is not virtual and this query returns no objects then the adapter is a phantom adapter.

Getting the PCI Devices

The main classes are IANet_EthernetPCIDevice, IANet_PCIDevice, and IANet_AdapterDevice (an association class to associate an adapter with its device).

In this case, the association class does not contain any data, i.e., it has no value by itself. IANet_EthernetPCIDevice inherits from IANet_PCIDevice and contains extra attributes that are specific for a PCI device that is an Ethernet adapter.

Task

WQL Query

Result Class

Comment

Enumerate network PCI devices

SELECT * FROM IANet_PCIDevice

IANet_PCIDevice

The query may return modems and other devices that Intel® PROSet does not configure.

This is equivalent to IWbemServices::CreateInstanceEnumAsync.

Enumerate all PCI devices used by Intel® PROSet configured adapters.

SELECT * FROM IANet_EthernetPCIDevice

IANet_EthernetPCIDevice

The query returns just the PCI devices that Intel® PROSet manages. This is equivalent to IWbemServices::CreateInstanceEnumAsync.

Determine if adapter is installed.

N/A

IANet_EthernetPCIDevice

Check the “Availability” attribute of IANet_EthernetPCIDevice. If equal to 10 - “Not Installed”, then the device is not installed.  Note: Not much information is known about the device at this stage.

Get the PCI Device associated with an adapter

ASSOCIATORS OF { IANet_EthernetAdapter path}

     WHERE ResultClass = IANet_EthernetPCIDevice

IANet_EthernetPCIDevice

If this returns no objects, then the adapter is either virtual or a phantom adapter.

Get the adapter associated with a PCI device

ASSOCIATORS OF {Ethernet PCI device path}

     WHERE ResultClass = IANet_EthernetAdapter

IANet_EthernetAdapter

This query is not optimal for the Provider – it is preferred that the client starts with the adapter.

Getting the Adapter Settings

The setting objects are not associated with the adapter directly. In conformance with the CIM standard, they are associated with a configuration object, which is associated with the adapter.

The classes involved with this part of the schema are IANet_EthernetAdapter, IANet_Configuration, IANet_SettingInt, IANet_SettingString, IANet_SettingEnum, IANet_SettingMultiSelection and IANetSettingSlider.

The association classes IANet_AdapterConfiguration and IANet_SettingContext do not contain any real data - they act as glue between the settings and their parent object.

Task

WQL Queries

Result Class

Comments

Get the Configuration object for the adapter

ASSOCIATORS OF {IANet_EthernetAdapter  path} WHERE ResultClass = IANet_Configuration

IANet_Configuration

Returns exactly one object; even if there are no settings there will always be a configuration object. The object path from this object is used in the next query.

Get the settings associated with an adapter

ASSOCIATORS OF {IANet_Configuration  path} WHERE AssocClass = IANet_SettingContext

A mixture of IANet_SettingInt, IANet_SettingString, IANet_SettingEnum, IANet_SettingMultiSelection,

IANet_SettingSlider

Returns all the setting classes associated with the adapter.   The client should use the __CLASS attribute to determine that type of each setting.

Getting the Team Configuration

The main classes in the teaming schema are IANet_EthernetAdapter, IANet_TeamOfAdapters, IANet_NetworkVirtualAdapter and IANet_TeamedMemberAdapter.

The challenge in this schema is that an instance of IANet_EthernetAdapter exists for each physical adapter and for each virtual adapter. The client must be capable of distinguishing between the virtual adapter for a team and the adapters that are members of the team.

The association class IANet_NetworkVirtualAdapter contains no useful data - clients are really only interested in the endpoints of this association. IANet_TeamedMemberAdapter does contain useful data about how the member adapter is used within the team.

Task

WQL Queries

Result Class

Comments

Enumerate all teams

SELECT * FROM IANet_TeamOfAdapters

IANet_TeamOfAdapters

There is one instance of IANet_TeamOfAdapters for each team. This is equivalent to IWbemServices::CreateInstanceEnumAsync.

Get the virtual adapter for a team

ASSOCIATORS OF {IANet_TeamOfAdapters path} WHERE AssocClass = IANet_NetworkVirtualAdapter

IANet_EthernetAdapter

Returns only the adapter object for the virtual adapter in the team.  This adapter will not exist if the team has been created but Apply has not been called.  (see below on updating the configuration).

Enumerate the team’s member adapters

ASSOCIATORS OF {IANet_TeamOfAdapters path} WHERE AssocClass = IANet_TeamedMemberAdapter

IANet_EthernetAdapter

Returns the adapters which are in the team, but does not describe what role the adapter plays.

Determine an adapter’s role in a team

REFERENCES OF {IANet_EthernetAdapter path} WHERE ResultClass = IANet_TeamedMemberAdapter

IANet_TeamedMemberAdapter

The class contains information about how the member adapter relates to the team and its current status within the team.

Getting the Team Settings

The setting objects are not associated with the team directly. In conformance with the CIM standard, they are associated with a configuration object which is associated with the virtual IANet_EthernetAdapter for the team. The same configuration object is also associated with the IANet_TeamOfAdapters object for the team.

The classes involved with this part of the schema are IANet_EthernetAdapter, IANet_TeamOfAdapters, IANet_Configuration, IANet_SettingInt, IANet_SettingString, IANet_SettingEnum, IANet_SettingMultiSelection and IANetSettingSlider.

The association classes IANet_AdapterConfiguration and IANet_SettingContext do not contain any real data - they act as glue between the settings and their parent object. This is exactly the same as the adapter settings case.

Task

WQL Queries

Result Class

Comments

Get the configuration object for the team, starting with the virtual adapter

ASSOCIATORS OF {IANet_EthernetAdapter path} WHERE ResultClass = IANet_Configuration

IANet_Configuration

Returns exactly one object. Even if there are no settings, there will always be a configuration object. The object path from this object is used in the next query.

Get the configuration object for the team, starting with the team of adapters

ASSOCIATORS OF {IANet_TeamOfAdapters path} WHERE ResultClass = IANet_Configuration

Get the settings associated with an adapter

ASSOCIATORS OF {IANet_Configuration path} WHERE AssocClass = IANet_SettingContext

A mixture of IANet_SettingInt, IANet_SettingString, IANet_SettingEnum, IANet_SettingMultiSelection,

IANet_SettingSlider

Returns all the setting classes associated with the adapter.   The client should use the __CLASS attribute to determine that type of each setting.

Getting the VLAN Configuration

Each adapter that supports VLANs has an IANet_802dot1QVLANService associated with it, using the association class IANet_Device802do1QVVLANServiceImplementation. If an adapter does not have an instance of this class associated with it, then it does not support VLANs.

Each VLAN is represented by an instance of IANet_VLAN. The VLAN is not directly associated with the adapter - it is associated with the IANet_802dot1QVLANService for the adapter.

The association class IANet_VLANFor is used to associate each VLAN instance with the correct IANet_802dot1QVLANService. This class contains no useful data for the user.

Task

WQL Queries

Result Class

Comments

Get the 802.1q VLAN service object associated with an adapter

ASSOCIATORS OF {IANet_EthernetAdapter path} WHERE ResultClass = IANet_802dot1QVLANService

IANet_802dot1QVLANService

Returns one or no object(s).

Get the VLANs on an adapter

ASSOCIATORS OF {IANet_802dot1QVLANService path} WHERE ResultClass = IANet_VLAN

IANet_VLAN

This can return no objects if there are no VLANs installed.

Getting the VLAN Settings

The setting objects are not associated with the VLAN directly. In conformance with the CIM standard, they are associated with a configuration object, which is associated with the IANet_VLAN object for the VLAN.

The classes involved with this part of the schema are IANet_VLAN, IANet_Configuration, IANet_SettingInt, IANet_SettingString, IANet_SettingEnum, IANet_SettingMultiSelection and IANetSettingSlider.

The association classes IANet_VLANConfiguration and IANet_SettingContext do not contain any real data - they act as glue between the settings and their parent object. This is exactly the same as the adapter settings case.

Task

WQL Queries

Result Class

Comments

Get the Configuration object for the VLAN

ASSOCIATORS OF {IANet_VLAN path} WHERE ResultClass = IANet_Configuration

IANet_Configuration

Returns exactly one object; even if there are no settings there will always be a configuration object. The object path from this object is used in the next query.

Get the settings associated with a VLAN

ASSOCIATORS OF {IANet_Configuration path} WHERE AssocClass = IANet_SettingContext

A mixture of IANet_SettingInt, IANet_SettingString, IANet_SettingEnum, IANet_SettingMultiSelection, IANet_SettingSlider

Returns all the setting classes associated with the VLAN.   The client should use the __CLASS attribute to determine the type of each setting.

Getting the IP Protocol Information

The Provider will give some limited information about the IP Protocol Endpoints that are associated with adapters, VLANs and teams. No other protocols are supported.

The main class containing the protocol information is IANet_IPProtocolEndpoint. There are two association classes: IANet_VLANProtocolDependency and IANet_AdapterProtocolImplementation. To get the IP endpoint for a team, first get the virtual IANet_EthernetAdapter for the team, i.e., the IP Endpoint is associated with this instance.

Task

WQL Queries

Result Class

Comments

Get the IP Protocol Endpoints associated with an adapter

ASSOCIATORS OF {path of IANet_EthernetAdapter} WHERE ResultClass = IANet_IPProtocolEndpoint

IANet_IPProtocolEndpoint

Though some adapters may have more than one IP address, they will be associated with only one IP Protocol Endpoint instance.

Get the IP Protocol Endpoints associated with a VLAN.

ASSOCIATORS OF {path of IANet_VLAN} WHERE ResultClass = IANet_IPProtocolEndpoint

IANet_IPProtocolEndpoint

There will be one IP Protocol Endpoint associated with the VLAN.

Getting the Boot Agent Information

Each adapter that can support a boot agent in flash ROM will have an IANet_BootAgent instance associated with it using the IANet_DeviceBootServiceImplementation association class.

Task

WQL Queries

Result Class

Comments

Get the Boot Agent associated with an adapter

ASSOCIATORS OF {path of IANet_EthernetAdapter} WHERE ResultClass = IANet_BootAgent

IANet_BootAgent

The following read only attributes provide information on the boot ROM image for this adapter:

InvalidImageSignature, Version, UpdateAvailable, FlashImageType

Getting the BootAgent Settings

The setting objects are not associated with the boot agent directly. In conformance with the CIM standard, they are associated with a configuration object which is associated with the boot agent.

The classes involved with this part of the schema are IANet_BootAgent, IANet_Configuration, IANet_SettingInt, IANet_SettingString, IANet_SettingEnum, IANet_SettingMultiSelection and IANetSettingSlider.

The association classes IANet_BootAgentConfiguration and IANet_SettingContext do not contain any real data - they act as glue between the settings and their parent object.

Task

WQL Queries

Result Class

Comments

Get the Configuration object for the boot agent

ASSOCIATORS OF { IANet_BootAgent  path} WHERE ResultClass = IANet_Configuration

IANet_Configuration

Returns exactly one object. Even if there are no settings, there will always be a configuration object. The object path from this object is used in the following query.

Get the settings associated with an boot agent

ASSOCIATORS OF {IANet_Configuration  path} WHERE AssocClass = IANet_SettingContext

A mixture of IANet_SettingInt, IANet_SettingString, IANet_SettingEnum, IANet_SettingMultiSelection, IANet_SettingSlider

Returns all the setting classes associated with the adapter.   The client should use the __CLASS attribute to determine that type of each setting.

Home


Copyright© 2002 Intel Corporation. Legal Information