Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
An overlying driver or user application can obtain a list of all NIC switches that have been created on a network adapter that supports single root I/O virtualization (SR-IOV). The driver or application issues an object identifier (OID) query request of OID_NIC_SWITCH_ENUM_SWITCHES to obtain this list.
After a successful return from this OID request, the InformationBuffer member of the NDIS_OID_REQUEST structure contains a pointer to a buffer that contains the following:
An NDIS_NIC_SWITCH_INFO_ARRAY structure that defines the number of elements within the array.
An array of NDIS_NIC_SWITCH_INFO structures. Each of these structures contains the information about a single NIC switch created on the network adapter.
Note If the network adapter has no NIC switches, the driver sets the NumElements member of the NDIS_NIC_SWITCH_INFO_ARRAY structure to zero and no NDIS_NIC_SWITCH_INFO structures are returned.
Note Starting with Windows Server 2012, the SR-IOV interface supports only one NIC switch on the network adapter. This switch is known as the default NIC switch, and is referenced by the NDIS_DEFAULT_SWITCH_ID identifier.
NDIS handles the OID_NIC_SWITCH_ENUM_SWITCHES request for miniport drivers. NDIS returns the information from an internal cache of the data that it maintains from the following sources:
The standardized SR-IOV keyword settings in the registry. For more information on these keywords, see Standardized INF Keywords for SR-IOV.
OID requests of OID_NIC_SWITCH_CREATE_SWITCH and OID_NIC_SWITCH_PARAMETERS.
Note NDIS also provides the enumeration of the switches in the NicSwitchArray member in the NDIS_BIND_PARAMETERS and NDIS_FILTER_ATTACH_PARAMETERS structures. Therefore, the overlying protocol and filter drivers do not have to issue OID_NIC_SWITCH_ENUM_SWITCHES requests to obtain this information.