An overlying driver issues an object identifier (OID) query request of OID_NIC_SWITCH_HARDWARE_CAPABILITIES to obtain the hardware capabilities of the NIC switch in the 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_NIC_SWITCH_CAPABILITIES structure.


The NDIS_NIC_SWITCH_CAPABILITIES structure contains information about the hardware capabilities of a NIC switch on the network adapter. 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 capabilities of the specified NIC switch are returned through an OID query request of OID_NIC_SWITCH_HARDWARE_CAPABILITIES, regardless of whether a capability is enabled or disabled.

Starting with NDIS 6.20, miniport drivers supply the NIC switch hardware capabilities when its MiniportInitializeEx function is called. The driver initializes an NDIS_NIC_SWITCH_CAPABILITIES structure with the NIC switch hardware capabilities and sets the HardwareNicSwitchCapabilities member of the NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES structure to a pointer to the NDIS_NIC_SWITCH_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.

Note  Starting with NDIS 6.30, miniport drivers that support the single root I/O virtualization (SR-IOV) interface must register the hardware capabilities of the NIC switch. Drivers register these capabilities by calling NdisMSetMiniportAttributes.

Return Status Codes

NDIS handles the OID query request of OID_NIC_SWITCH_HARDWARE_CAPABILITIES request for miniport drivers, and returns one of the following status codes:

Status CodeDescription


The request completed successfully. The InformationBuffer points to an NDIS_NIC_SWITCH_CAPABILITIES structure.


The miniport driver either does not support the single root I/O virtualization (SR-IOV) interface or is not enabled to use the interface.


The length of the information buffer is less than sizeof( NDIS_NIC_SWITCH_CAPABILITIES). NDIS sets the DATA.QUERY_INFORMATION.BytesNeeded member in the NDIS_OID_REQUEST structure to the minimum buffer size that is required.


The request failed for other reasons.




Supported in NDIS 6.20 and later.


Ntddndis.h (include Ndis.h)

See also




Send comments about this topic to Microsoft

© 2014 Microsoft