Querying the Parameters of a Virtual Port
An overlying driver can obtain the parameters for a virtual port (VPort) on a NIC switch on a network adapter that supports single root I/O virtualization (SR-IOV). The driver issues an object identifier (OID) method request of OID_NIC_SWITCH_VPORT_PARAMETERS to obtain these parameters.
Before the overlying driver issues this OID method request, it must initialize an NDIS_NIC_SWITCH_VPORT_PARAMETERS structure. The driver must set the members of this structure in the following way:
The SwitchId member must be set to the identifier of the NIC switch for which parameters are to be 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. The SwitchId member must be set to NDIS_DEFAULT_SWITCH_ID.
The VPortId member must be set to the identifier associated with the VPort. The overlying driver obtains the VPort identifier through one of the following ways:
From a previous OID method request of OID_NIC_SWITCH_CREATE_VPORT.
From a previous OID method request of OID_NIC_SWITCH_ENUM_VPORTS.
After a successful return from this OID method request, the InformationBuffer member of the NDIS_OID_REQUEST structure contains a pointer to an NDIS_NIC_SWITCH_VPORT_PARAMETERS structure. This structure contains the parameters for the specified VPort.
NDIS handles the OID_NIC_SWITCH_VPORT_PARAMETERS request for miniport drivers. NDIS returns the information from an internal cache of the data that it maintains from inspecting the following sources:
OID method requests of OID_NIC_SWITCH_CREATE_VPORT.
OID set requests of OID_NIC_SWITCH_VPORT_PARAMETERS.