NDIS_SRIOV_CAPABILITIES structure (ntddndis.h)
The NDIS_SRIOV_CAPABILITIES structure specifies the single root I/O virtualization (SR-IOV) capabilities of the network adapter.
Syntax
typedef struct _NDIS_SRIOV_CAPABILITIES {
NDIS_OBJECT_HEADER Header;
ULONG Flags;
ULONG SriovCapabilities;
} NDIS_SRIOV_CAPABILITIES, *PNDIS_SRIOV_CAPABILITIES;
Members
Header
The type, revision, and size of the NDIS_SRIOV_CAPABILITIES structure. This member is formatted as an NDIS_OBJECT_HEADER structure.
The miniport driver must set the Type member of Header to NDIS_OBJECT_TYPE_DEFAULT. To specify the version of the NDIS_SRIOV_CAPABILITIES structure, the driver must set the Revision member of Header to the following value:
NDIS_SRIOV_CAPABILITIES _REVISION_1
Original version for NDIS 6.30 and later.
Set the Size member to NDIS_SIZEOF_SRIOV_CAPABILITIES _REVISION_1.
Flags
A ULONG value that contains a bitwise OR of flags. This member is reserved for NDIS
SriovCapabilities
A ULONG value that contains a bitwise OR of the following flags:
NDIS_SRIOV_CAPS_SRIOV_SUPPORTED
Specifies that the network adapter supports SR-IOV functionality.
NDIS_SRIOV_CAPS_PF_MINIPORT
Specifies that this is a PF miniport driver.
NDIS_SRIOV_CAPS_VF_MINIPORT
Specifies that this is a PCIe Virtual Function (VF) miniport driver.
Remarks
The miniport driver uses the NDIS_SRIOV_CAPABILITIES structure to report its SR-IOV capabilities in the following ways:
- The miniport driver calls the NdisMSetMiniportAttributes function from its MiniportInitializeEx function and sets the MiniportAttributes parameter to a pointer to an NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES structure. The driver advertises SR-IOV support by formatting the HardwareSriovCapabilities and CurrentSriovCapabilities members as NDIS_SRIOV_CAPABILITIES structures.
- When the driver successfully handles an OID query request of OID_SRIOV_HARDWARE_CAPABILITIES or OID_SRIOV_CURRENT_CAPABILITIES, it returns an NDIS_SRIOV_CAPABILITIES structure.
- When NDIS calls an overlying filter driver's FilterAttach function, NDIS passes the network adapter's SR-IOV capabilities through the AttachParameters parameter. This parameter contains a pointer to an NDIS_FILTER_ATTACH_PARAMETERS structure. The SriovCapabilities member of this structure contains a pointer to an NDIS_SRIOV_CAPABILITIES structure.
- When NDIS calls an overlying protocol driver's ProtocolBindAdapterEx function, NDIS passes the network adapter's SR-IOV capabilities through the BindParameters parameter. This parameter contains a pointer to an NDIS_FILTER_ATTACH_PARAMETERS structure. The SriovCapabilities member of this structure contains a pointer to an NDIS_SRIOV_CAPABILITIES structure.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Supported in NDIS 6.30 and later. |
Header | ntddndis.h (include Ndis.h) |
See also
NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES