NDIS_BIND_PARAMETERS (Compact 7)
3/12/2014
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;
} 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_2
Added the HDSplitCurrentConfig member.NDIS sets the Size member to NDIS_SIZEOF_BIND_PARAMETERS_REVISION_2.
NDIS_BIND_PARAMETERS_REVISION_1
Original version.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 NdisMediumXxx Types.
- 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.
- SupportedPacketFilters
A set of flags that determine the types of network packets that the underlying miniport adapter can filter. For more information, see OID_GEN_SUPPORTED_PACKET_FILTERS.
- MaxMulticastListSize
The multicast 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
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 scaling capabilities of the network adapter. 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.
- NET_IF_CONNECTION_DEDICATED
- 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 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.
- NET_IF_COMPARTMENT_ID_UNSPECIFIED
- 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.
Remarks
NDIS passes a pointer to an NDIS_BIND_PARAMETERS structure in the BindParameters parameter of the ProtocolBindAdapterEx function.
Requirements
Header |
ndis.h |
See Also
Reference
NDIS Protocol Driver Structures
NDIS_OBJECT_HEADER
NDIS_OFFLOAD
NET_IF_ACCESS_TYPE
NET_IF_DIRECTION_TYPE
OID_802_3_CURRENT_ADDRESS
OID_802_3_MAXIMUM_LIST_SIZE
OID_802_3_PERMANENT_ADDRESS
OID_GEN_CURRENT_LOOKAHEAD
OID_GEN_LINK_SPEED_EX
OID_GEN_MAC_OPTIONS
OID_GEN_MAX_LINK_SPEED
OID_GEN_MAXIMUM_FRAME_SIZE
OID_GEN_MEDIA_CONNECT_STATUS_EX
OID_GEN_MEDIA_DUPLEX_STATE
OID_GEN_PHYSICAL_MEDIUM
OID_GEN_SUPPORTED_PACKET_FILTERS
NDIS_TCP_CONNECTION_OFFLOAD
OID_PNP_CAPABILITIES
ProtocolBindAdapterEx