Share via


NDIS_BIND_PARAMETERS (Compact 2013)

3/26/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.
  • 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.
  • MediaDuplexState
    The media duplex state for the underlying miniport adapter. For more information, see OID_GEN_MEDIA_DUPLEX_STATE.
  • 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.
  • 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 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.
  • 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

Other Resources

NET_LUID