OID_QOS_HARDWARE_CAPABILITIES

An overlying driver issues an object identifier (OID) query request of OID_QOS_HARDWARE_CAPABILITIES to obtain the NDIS Quality of Service (QoS) hardware capabilities of a network adapter.

After a successful return from the OID query request, the InformationBuffer member of the NDIS_OID_REQUEST structure contains a pointer to an NDIS_QOS_CAPABILITIES structure.

Note  This OID query request is handled by NDIS for miniport drivers that support the IEEE 802.1 Data Center Bridging (DCB) interface.

Remarks

The NDIS_QOS_CAPABILITIES structure contains information about the NDIS QoS hardware capabilities of a network adapter. These capabilities can include hardware capabilities that are currently disabled by INF file settings or through the Advanced properties page.

Note  All the NDIS QoS hardware capabilities of a network adapter are returned through an OID query request of OID_QOS_HARDWARE_CAPABILITIES, regardless of whether a capability is enabled or disabled.

Miniport drivers registers the NDIS QoS hardware capabilities of a network adapter when its MiniportInitializeEx function is called. The driver registers these capabilities by following these steps:

  1. The driver initializes an NDIS_QOS_CAPABILITIES structure with the NDIS QoS hardware capabilities.

  2. The driver sets the HardwareQosCapabilities member of the NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES structure to a pointer to the NDIS_QOS_CAPABILITIES structure.

  3. 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.

Note  NDIS does not report the NDIS QoS hardware capabilities of a network adapter to overlying protocol and filter drivers during the bind or attach operations.

For more information on how to register NDIS QoS capabilities, see Registering NDIS QoS Capabilities.

Return Status Codes

NDIS handles the OID query request of OID_QOS_HARDWARE_CAPABILITIES request for miniport drivers, and 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 does not support the NDIS QoS interface.

NDIS_STATUS_INVALID_LENGTH

The length of the information buffer is less than sizeof(NDIS_QOS_CAPABILITIES). NDIS sets 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


MiniportInitializeEx

NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES

NdisMSetMiniportAttributes

NDIS_OID_REQUEST

NDIS_QOS_CAPABILITIES