OID_NIC_SWITCH_VF_PARAMETERS

An overlying driver or user-mode application issues an object identifier (OID) method request of OID_NIC_SWITCH_VF_PARAMETERS to obtain the current configuration parameters of a PCI Express (PCIe) Virtual Function (VF) on a network adapter. Only VFs that have resources allocated through an OID method request of OID_NIC_SWITCH_ALLOCATE_VF can be queried through an OID method request of OID_NIC_SWITCH_VF_PARAMETERS.

NDIS handles the OID method request of OID_NIC_SWITCH_VF_PARAMETERS for miniport drivers.

When the OID method request is made, the InformationBuffer member of the NDIS_OID_REQUEST structure contains a pointer to an NDIS_NIC_SWITCH_VF_PARAMETERS structure.

Remarks

The overlying driver or user-mode application specifies the VF to query by setting the VFId member of the NDIS_NIC_SWITCH_VF_PARAMETERS structure to the identifier of the VF. The overlying driver or application obtains the VF identifier through one of the following ways:

  • By issuing an OID method request of OID_NIC_SWITCH_ENUM_VFS.

    If this OID request is completed successfully, the overlying driver or user-mode application receives a list of all VFs allocated on the network adapter. Each element within the list is an NDIS_NIC_SWITCH_VF_INFO structure, with the VF identifier specified by the VFId member.

  • By issuing an OID method request of OID_NIC_SWITCH_ALLOCATE_VF.

    If this OID request is completed successfully, the overlying driver receives the identifier of the newly created VF in the VFId member of the returned NDIS_NIC_SWITCH_VF_PARAMETERS structure.

    Note  Only overlying drivers can obtain the VF identifier in this manner.

After a successful return from the OID method request, the InformationBuffer member of the NDIS_OID_REQUEST structure contains a pointer to an NDIS_NIC_SWITCH_VF_PARAMETERS structure. This structure contains the configuration parameters for the specified VF.

Return Status Codes

NDIS handles the OID method request of OID_NIC_SWITCH_VF_PARAMETERS for miniport drivers, and returns the following status code for OID method requests of OID_NIC_SWITCH_VF_PARAMETERS.

Status Code Description

NDIS_STATUS_SUCCESS

The request completed successfully. The InformationBuffer member points to an NDIS_NIC_SWITCH_VF_PARAMETERS structure.

NDIS_STATUS_NOT_SUPPORTED

The miniport driver either does not support the single root I/O virtualization (SR-IOV) interface or is not enabled to use the interface.

NDIS_STATUS_INVALID_PARAMETER

One or more of the members of the NDIS_NIC_SWITCH_VF_PARAMETERS structure have invalid values.

NDIS_STATUS_INVALID_LENGTH

The length of the information buffer is less than sizeof(NDIS_NIC_SWITCH_VF_PARAMETERS). NDIS sets the DATA.METHOD_INFORMATION.BytesNeeded member in the NDIS_OID_REQUEST structure to the minimum buffer size that is required.

NDIS_STATUS_INVALID_LENGTH

The information buffer was too short. NDIS sets the DATA.METHOD_INFORMATION.BytesNeeded member in the NDIS_OID_REQUEST structure to the minimum buffer size that is required.

NDIS_STATUS_FAILURE

The request failed for other reasons.

Requirements

Version

Supported in NDIS 6.30 and later.

Header

Ntddndis.h (include Ndis.h)

See also


NDIS_NIC_SWITCH_VF_PARAMETERS

NDIS_OID_REQUEST

OID_NIC_SWITCH_ALLOCATE_VF

OID_NIC_SWITCH_ENUM_VFS

NDIS_NIC_SWITCH_VF_INFO

OID_NIC_SWITCH_VF_PARAMETERS