OID_SRIOV_CURRENT_CAPABILITIES

An overlying driver issues an object identifier (OID) query request of OID_SRIOV_CURRENT_CAPABILITIES to obtain the current single root I/O virtualization (SR-IOV) capabilities of a network adapter.

The InformationBuffer member of the NDIS_OID_REQUEST structure contains a pointer to the NDIS_SRIOV_CAPABILITIES structure.

Remarks

Starting with NDIS 6.30, miniport drivers supply the enabled SR-IOV hardware capabilities on the network adapter when its MiniportInitializeEx function is called. The driver initializes an NDIS_SRIOV_CAPABILITIES structure with the currently enabled SR-IOV hardware capabilities and sets the CurrentSriovCapabilities member of the NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES structure to a pointer to the NDIS_SRIOV_CAPABILITIES structure. The miniport driver then calls the NdisMSetMiniportAttributes function and sets the MiniportAttributes parameter to a pointer to an NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES structure.

Overlying protocol and filter drivers do not have to issue OID query requests of OID_SRIOV_CURRENT_CAPABILITIES. NDIS provides the currently enabled SR-IOV capabilities of a network adapter to these drivers in the following way:

  • NDIS reports the currently enabled SR-IOV capabilities of an underlying network adapter to overlying protocol drivers in the SriovCapabilities member of the NDIS_BIND_PARAMETERS structure during the bind operation.

  • NDIS reports the currently enabled SR-IOV capabilities of an underlying network adapter to overlying filter drivers in the SriovCapabilities member of the NDIS_FILTER_ATTACH_PARAMETERS structure during the attach operation.

Return Status Codes

NDIS handles the OID query request of the OID_SRIOV_CURRENT_CAPABILITIES request for miniport drivers. The drivers will not be issued this OID request.

When NDIS handles the OID_SRIOV_CURRENT_CAPABILITIES request, it returns one of the following status codes:

Status Code Description

NDIS_STATUS_SUCCESS

The OID request completed successfully.

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_LENGTH

The information buffer was too short. The miniport driver must set the DATA.QUERY_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_BIND_PARAMETERS

NDIS_FILTER_ATTACH_PARAMETERS

NDIS_OID_REQUEST

NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES

NDIS_SRIOV_CAPABILITIES

NdisMSetMiniportAttributes