NDIS_BIND_PARAMETERS structure (ndis.h)
NDIS initializes an NDIS_BIND_PARAMETERS structure with information that defines the characteristics of a binding and passes it to a protocol driver.
Syntax
typedef struct _NDIS_BIND_PARAMETERS {
NDIS_OBJECT_HEADER Header;
PNDIS_STRING ProtocolSection;
PNDIS_STRING AdapterName;
PDEVICE_OBJECT PhysicalDeviceObject;
NDIS_MEDIUM MediaType;
ULONG MtuSize;
ULONG64 MaxXmitLinkSpeed;
ULONG64 XmitLinkSpeed;
ULONG64 MaxRcvLinkSpeed;
ULONG64 RcvLinkSpeed;
NDIS_MEDIA_CONNECT_STATE MediaConnectState;
NDIS_MEDIA_DUPLEX_STATE MediaDuplexState;
ULONG LookaheadSize;
PNDIS_PNP_CAPABILITIES PowerManagementCapabilities;
ULONG SupportedPacketFilters;
ULONG MaxMulticastListSize;
USHORT MacAddressLength;
UCHAR CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
NDIS_PHYSICAL_MEDIUM PhysicalMediumType;
PNDIS_RECEIVE_SCALE_CAPABILITIES RcvScaleCapabilities;
NET_LUID BoundIfNetluid;
NET_IFINDEX BoundIfIndex;
NET_LUID LowestIfNetluid;
NET_IFINDEX LowestIfIndex;
NET_IF_ACCESS_TYPE AccessType;
NET_IF_DIRECTION_TYPE DirectionType;
NET_IF_CONNECTION_TYPE ConnectionType;
NET_IFTYPE IfType;
BOOLEAN IfConnectorPresent;
PNDIS_PORT ActivePorts;
ULONG DataBackFillSize;
ULONG ContextBackFillSize;
ULONG MacOptions;
NET_IF_COMPARTMENT_ID CompartmentId;
PNDIS_OFFLOAD DefaultOffloadConfiguration;
PNDIS_TCP_CONNECTION_OFFLOAD TcpConnectionOffloadCapabilities;
PNDIS_STRING BoundAdapterName;
PNDIS_HD_SPLIT_CURRENT_CONFIG HDSplitCurrentConfig;
PNDIS_RECEIVE_FILTER_CAPABILITIES ReceiveFilterCapabilities;
PNDIS_PM_CAPABILITIES PowerManagementCapabilitiesEx;
PNDIS_NIC_SWITCH_CAPABILITIES NicSwitchCapabilities;
BOOLEAN NDKEnabled;
PNDIS_NDK_CAPABILITIES NDKCapabilities;
PNDIS_SRIOV_CAPABILITIES SriovCapabilities;
PNDIS_NIC_SWITCH_INFO_ARRAY NicSwitchArray;
} NDIS_BIND_PARAMETERS, *PNDIS_BIND_PARAMETERS;
Members
Header
The NDIS_OBJECT_HEADER structure for the NDIS_BIND_PARAMETERS structure. NDIS sets the Type member of the structure that Header specifies to NDIS_OBJECT_TYPE_BIND_PARAMETERS.
To indicate the version of the NDIS_BIND_PARAMETERS structure, NDIS sets the Revision member to one of the following values:
NDIS_BIND_PARAMETERS_REVISION_4
Added various members for NDIS 6.30.
NDIS sets the Size member to NDIS_SIZEOF_BIND_PARAMETERS_REVISION_4.
NDIS_BIND_PARAMETERS_REVISION_3
Added the ReceiveFilterCapabilities, PowerManagementCapabilitiesEx, and NicSwitchCapabilities members for NDIS 6.20.
NDIS sets the Size member to NDIS_SIZEOF_BIND_PARAMETERS_REVISION_3.
NDIS_BIND_PARAMETERS_REVISION_2
Added the HDSplitCurrentConfig member for NDIS 6.1.
NDIS sets the Size member to NDIS_SIZEOF_BIND_PARAMETERS_REVISION_2.
NDIS_BIND_PARAMETERS_REVISION_1
Original version for NDIS 6.0.
NDIS sets the Size member to NDIS_SIZEOF_BIND_PARAMETERS_REVISION_1.
ProtocolSection
A pointer to a Unicode string that contains a registry path. The path starts from the protocol driver's service key and continues down the registry hierarchy to the miniport adapter name (for example, Tcpip\Parameters\Adapters\<miniport adapter name>). The miniport adapter name is the name of the bottom-most miniport adapter in the driver stack. If there is a MUX intermediate driver in the stack, the bottom-most miniport adapter is a virtual miniport. Otherwise, the bottom-most miniport adapter is a miniport adapter for a physical device.
The protocol driver can use this registry path to read configuration parameters that are specific to the binding between the driver and the underlying miniport adapter.
AdapterName
A pointer to a Unicode string that contains the name of the underlying miniport adapter to which ProtocolBindAdapterEx should bind.
PhysicalDeviceObject
The physical device object for the underlying miniport adapter.
MediaType
The NdisMediumXxx type that the underlying miniport adapter supports. For more information about NdisMediumXxx types, see NDIS_MEDIUM.
MtuSize
The maximum transfer unit (MTU) size. For more information, see OID_GEN_MAXIMUM_FRAME_SIZE.
MaxXmitLinkSpeed
The maximum transmit link speed of the underlying adapter in bits per second. For more information, see OID_GEN_MAX_LINK_SPEED.
XmitLinkSpeed
The current transmit link speed of the underlying adapter in bits per second. For more information, see OID_GEN_LINK_SPEED_EX.
MaxRcvLinkSpeed
The maximum receive link speed of the underlying adapter in bits per second. For more information, see OID_GEN_MAX_LINK_SPEED.
RcvLinkSpeed
The current receive link speed of the underlying adapter in bits per second. For more information, see OID_GEN_LINK_SPEED_EX.
MediaConnectState
The media connect state for the underlying miniport adapter. For more information, see OID_GEN_MEDIA_CONNECT_STATUS_EX.
MediaDuplexState
The media duplex state for the underlying miniport adapter. For more information, see OID_GEN_MEDIA_DUPLEX_STATE.
LookaheadSize
The lookahead size for the underlying miniport adapter. For more information, see OID_GEN_CURRENT_LOOKAHEAD.
PowerManagementCapabilities
The Plug and Play capabilities of the underlying miniport adapter. For more information, see OID_PNP_CAPABILITIES. NDIS 6.20 and later drivers must use the PowerManagementCapabilitiesEx member instead.
SupportedPacketFilters
A set of flags that identify the types of network packets that the underlying miniport adapter can filter.
MaxMulticastListSize
The multicast address list size for the underlying miniport adapter. For more information, see OID_802_3_MAXIMUM_LIST_SIZE.
MacAddressLength
The MAC address length, in bytes. The MAC address length is specific to the type of media.
CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]
The current MAC address. For example, the OID_802_3_CURRENT_ADDRESS OID specifies the current MAC address for IEEE 802.3 drivers.
PhysicalMediumType
The physical medium type for the miniport adapter. For more information, see OID_GEN_PHYSICAL_MEDIUM.
RcvScaleCapabilities
The receive side scaling (RSS) capabilities of the NIC. For more information, see OID_GEN_RECEIVE_SCALE_CAPABILITIES.
BoundIfNetluid
The NDIS NET_LUID value, that is also the network interface name ( ifName in RFC 2863), of the highest level interface that is stacked on the miniport adapter. That is, if there are virtual miniports or filter modules that are installed over the miniport adapter, this is the NET_LUID value of the highest level virtual miniport or filter module.
BoundIfIndex
The NDIS network interface index of the highest level interface that is stacked on the miniport adapter. That is, if there are virtual miniports or filter modules that are installed over the miniport adapter, this is the ifIndex of the highest level virtual miniport or filter module.
LowestIfNetluid
The NDIS NET_LUID value, that is also the network interface name ( ifName in RFC 2863), of the lowest level interface on a binding. That is, the NDIS network interface of the miniport adapter at the bottom of a filter stack.
LowestIfIndex
The NDIS network interface index of lowest level interface on a binding. That is, the NDIS network interface of the miniport adapter at the bottom of a filter stack.
AccessType
A NET_IF_ACCESS_TYPE NDIS network interface access type.
DirectionType
A NET_IF_DIRECTION_TYPE NDIS network interface direction type.
ConnectionType
The NDIS network interface connection type. Use NET_IF_CONNECTION_DEDICATED for a typical Ethernet adapter. The following values are valid:
NET_IF_CONNECTION_DEDICATED
Specifies the dedicated connection type. The connection comes up automatically when media sense is TRUE. For example, an Ethernet connection is dedicated.
NET_IF_CONNECTION_PASSIVE
Specifies the passive connection type. The other end must bring up the connection to the local station. For example, the RAS interface is passive.
NET_IF_CONNECTION_DEMAND
Specifies the demand-dial connection type. A demand-dial connection comes up in response to a local action--for example, sending a packet.
IfType
The Internet Assigned Numbers Authority (IANA) interface type. For example, IF_TYPE_ETHERNET_CSMACD (6) is the value for IfType that is assigned to any Ethernet-like interface. For a list if interface types, see NDIS Interface Types.
IfConnectorPresent
A Boolean value that indicates if a connector is present. NDIS sets this value to TRUE if there is a physical adapter.
ActivePorts
To be determined.
DataBackFillSize
The required data backfill size, in bytes, of the underlying driver stack.
ContextBackFillSize
The required context backfill size, in bytes, of the underlying driver stack.
MacOptions
The MAC options for the miniport adapter. For more information, see OID_GEN_MAC_OPTIONS.
CompartmentId
The compartment to which the underlying interface belongs or one of the following values:
NET_IF_COMPARTMENT_ID_UNSPECIFIED
Specifies that the compartment identifier is not used or specified.
NET_IF_COMPARTMENT_ID_PRIMARY
Specifies the default compartment identifier. Third party interface providers must always specify NET_IF_COMPARTMENT_ID_PRIMARY. All other values are reserved for Microsoft internal use.
DefaultOffloadConfiguration
A pointer to an NDIS_OFFLOAD structure. This structure specifies the capabilities for a task-offload-capable miniport adapter. For more information, see OID_TCP_OFFLOAD_CURRENT_CONFIG.
TcpConnectionOffloadCapabilities
A pointer to an NDIS_TCP_CONNECTION_OFFLOAD structure that indicates the current offload capabilities that are provided by the underlying miniport adapter.
BoundAdapterName
A pointer to a Unicode string that contains the name of the highest-level miniport adapter that is stacked on the underlying miniport adapter. That is, if there are filter intermediate driver virtual miniports that are installed over the miniport adapter, this member is the name of the highest-level filter intermediate driver virtual miniport.
HDSplitCurrentConfig
A pointer to an NDIS_HD_SPLIT_CURRENT_CONFIG structure. This structure specifies the current header-data split configuration of the underlying miniport adapter. This value can be NULL if the miniport adapter does not support header-data split.
ReceiveFilterCapabilities
A pointer to an NDIS_RECEIVE_FILTER_CAPABILITIES structure. This structure specifies the generic filtering capabilities that are currently enabled on the underlying miniport adapter. This value can be NULL if the miniport adapter does not support receive filtering.
PowerManagementCapabilitiesEx
A pointer to an NDIS_PM_CAPABILITIES structure. This structure specifies power management capabilities of the miniport adapter. This member is mandatory for NDIS 6.20 and later drivers.
NicSwitchCapabilities
A pointer to an NDIS_NIC_SWITCH_CAPABILITIES structure. This structure specifies the NIC switch capabilities of the underlying miniport adapter. This value can be NULL if the miniport adapter does not support NIC switch features.
NDKEnabled
NDIS sets this value to TRUE if the network direct kernel provider interface (NDKPI) is currently enabled on the underlying miniport adapter.
NDKCapabilities
A pointer to an NDIS_NDK_CAPABILITIES structure. This structure specifies the NDKPI capabilities that are currently enabled on the underlying miniport adapter. This value can be NULL if the miniport adapter does not support NDKPI.
SriovCapabilities
A pointer to an NDIS_SRIOV_CAPABILITIES structure. This structure specifies the single root I/O virtualization (SR-IOV) capabilities that are currently enabled on the underlying miniport adapter. This value can be NULL if the miniport adapter does not support SR-IOV features.
NicSwitchArray
A pointer to an NDIS_NIC_SWITCH_INFO_ARRAY structure. This array enumerates the NIC switches that have been created on the miniport adapter. NIC switches can only be created if SR-IOV is supported and enabled on the adapter.
Remarks
NDIS passes a pointer to an NDIS_BIND_PARAMETERS structure in the BindParameters parameter of the ProtocolBindAdapterEx function.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Supported in NDIS 6.0 and later. |
Header | ndis.h (include Ndis.h) |
See also
NDIS_RECEIVE_FILTER_CAPABILITIESOID_GEN_MEDIA_CONNECT_STATUS_EX
OID_GEN_RECEIVE_SCALE_CAPABILITIES