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 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) |