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.

Note  This flag must only be set by the miniport driver for the PCI Express (PCIe) Physical Function (PF) of the network adapter. This driver runs in the management operating system. This operating system runs in the Hyper-V parent partition.
 

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:

NDIS passes the network adapter's SR-IOV capabilities to overlying drivers that bind to the network adapter in the following way:
  • 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.
For more information on how to report the SR-IOV capabilities of a network adapter, see Determining SR-IOV Capabilities.

Requirements

Requirement Value
Minimum supported client Supported in NDIS 6.30 and later.
Header ntddndis.h (include Ndis.h)

See also

MiniportInitializeEx

NDIS_BIND_PARAMETERS

NDIS_FILTER_ATTACH_PARAMETERS

NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES

NDIS_OBJECT_HEADER

NdisMSetMiniportAttributes

OID_SRIOV_CURRENT_CAPABILITIES

OID_SRIOV_HARDWARE_CAPABILITIES