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