OID_SRIOV_HARDWARE_CAPABILITIES

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

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

Remarks

The NDIS_SRIOV_CAPABILITIES structure contains information about the hardware capabilities of the network adapter, such as whether the adapter supports SR-IOV and whether the miniport driver is managing the adapter's PCI Express (PCIe) Physical Function (PF) or Virtual Function (VF). These capabilities can include the hardware capabilities that are currently disabled by the INF file settings or through the Advanced properties page.

Note  All the SR-IOV capabilities of the network adapter are returned through an OID query request of OID_SRIOV_HARDWARE_CAPABILITIES, regardless of whether a capability is enabled or disabled.

Starting with NDIS 6.30, miniport drivers supply the SR-IOV hardware capabilities when its MiniportInitializeEx function is called. The driver initializes an NDIS_SRIOV_CAPABILITIES structure with the SR-IOV hardware capabilities and sets the HardwareSriovCapabilities 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.

Return Status Codes

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

When NDIS handles the OID_SRIOV_HARDWARE_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