NDIS_BIND_PARAMETERS 结构 (ndis.h)

NDIS 使用定义绑定特征的信息初始化 NDIS_BIND_PARAMETERS 结构,并将其传递给协议驱动程序。

语法

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;

成员

Header

NDIS_BIND_PARAMETERS 结构的NDIS_OBJECT_HEADER结构。 NDIS 将 Header 指定的结构的 Type 成员设置为 NDIS_OBJECT_TYPE_BIND_PARAMETERS。

为了指示NDIS_BIND_PARAMETERS结构的版本,NDIS 将 Revision 成员设置为以下值之一:

NDIS_BIND_PARAMETERS_REVISION_4

为 NDIS 6.30 添加了各种成员。

NDIS 将 Size 成员设置为 NDIS_SIZEOF_BIND_PARAMETERS_REVISION_4。

NDIS_BIND_PARAMETERS_REVISION_3

为 NDIS 6.20 添加了 ReceiveFilterCapabilitiesPowerManagementCapabilitiesExNicSwitchCapabilities 成员。

NDIS 将 Size 成员设置为 NDIS_SIZEOF_BIND_PARAMETERS_REVISION_3。

NDIS_BIND_PARAMETERS_REVISION_2

为 NDIS 6.1 添加了 HDSplitCurrentConfig 成员。

NDIS 将 Size 成员设置为 NDIS_SIZEOF_BIND_PARAMETERS_REVISION_2。

NDIS_BIND_PARAMETERS_REVISION_1

NDIS 6.0 的原始版本。

NDIS 将 Size 成员设置为 NDIS_SIZEOF_BIND_PARAMETERS_REVISION_1。

ProtocolSection

指向包含注册表路径的 Unicode 字符串的指针。 路径从协议驱动程序的服务密钥开始,在注册表层次结构中一直持续到微型端口适配器名称 (例如 Tcpip\Parameters\Adapters\<miniport 适配器名称>) 。 微型端口适配器名称是驱动程序堆栈中最底部的微型端口适配器的名称。 如果堆栈中有 MUX 中间驱动程序,则最底部的微型端口适配器是虚拟微型端口。 否则,最底部的微型端口适配器是物理设备的微型端口适配器。

协议驱动程序可以使用此注册表路径来读取特定于驱动程序与基础微型端口适配器之间的绑定的配置参数。

AdapterName

指向 Unicode 字符串的指针,该字符串包含 ProtocolBindAdapterEx 应绑定到的基础微型端口适配器的名称。

PhysicalDeviceObject

基础微型端口适配器的物理设备对象。

MediaType

基础微型端口适配器支持的 NdisMediumXxx 类型。 有关 NdisMediumXxx 类型的详细信息,请参阅 NDIS_MEDIUM

MtuSize

最大传输单位 (MTU) 大小。 有关详细信息,请参阅 OID_GEN_MAXIMUM_FRAME_SIZE

MaxXmitLinkSpeed

基础适配器的最大传输链路速度(以位/秒为单位)。 有关详细信息,请参阅 OID_GEN_MAX_LINK_SPEED

XmitLinkSpeed

基础适配器的当前传输链路速度(以位/秒为单位)。 有关详细信息,请参阅 OID_GEN_LINK_SPEED_EX

MaxRcvLinkSpeed

基础适配器的最大接收链接速度(以位/秒为单位)。 有关详细信息,请参阅 OID_GEN_MAX_LINK_SPEED

RcvLinkSpeed

基础适配器的当前接收链接速度(以位/秒为单位)。 有关详细信息,请参阅 OID_GEN_LINK_SPEED_EX

MediaConnectState

基础微型端口适配器的媒体连接状态。 有关详细信息,请参阅 OID_GEN_MEDIA_CONNECT_STATUS_EX

MediaDuplexState

基础微型端口适配器的媒体双工状态。 有关详细信息,请参阅 OID_GEN_MEDIA_DUPLEX_STATE

LookaheadSize

基础微型端口适配器的头大小。 有关详细信息,请参阅 OID_GEN_CURRENT_LOOKAHEAD

PowerManagementCapabilities

基础微型端口适配器的即插即用功能。 有关详细信息,请参阅 OID_PNP_CAPABILITIES。 NDIS 6.20 及更高版本的驱动程序必须改用 PowerManagementCapabilitiesEx 成员。

SupportedPacketFilters

一组标志,用于标识基础微型端口适配器可以筛选的网络数据包类型。

MaxMulticastListSize

基础微型端口适配器的多播地址列表大小。 有关详细信息,请参阅 OID_802_3_MAXIMUM_LIST_SIZE

MacAddressLength

MAC 地址长度(以字节为单位)。 MAC 地址长度特定于媒体类型。

CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]

当前 MAC 地址。 例如, OID_802_3_CURRENT_ADDRESS OID 指定 IEEE 802.3 驱动程序的当前 MAC 地址。

PhysicalMediumType

微型端口适配器的物理介质类型。 有关详细信息,请参阅 OID_GEN_PHYSICAL_MEDIUM

RcvScaleCapabilities

接收端缩放 (RSS) NIC 的功能。 有关详细信息,请参阅 OID_GEN_RECEIVE_SCALE_CAPABILITIES

BoundIfNetluid

NDIS NET_LUID 值,也是 RFC 2863) 中 ifName ( 网络接口名称,该值是堆叠在微型端口适配器上的最高级别接口。 也就是说,如果存在通过微型端口适配器安装的虚拟微型端口或筛选器模块,则这是最高级别虚拟微型端口或筛选器模块的NET_LUID值。

BoundIfIndex

堆叠在微型端口适配器上的最高级别接口的 NDIS 网络接口索引。 也就是说,如果通过微型端口适配器安装了虚拟微型端口或筛选器模块,则这是最高级别虚拟微型端口或筛选器模块的 ifIndex。

LowestIfNetluid

NDIS NET_LUID 值,也是绑定上最低级别接口 ( RFC 2863) 中的 ifName 的网络接口名称。 即筛选器堆栈底部微型端口适配器的 NDIS 网络接口。

LowestIfIndex

绑定上最低级别接口的 NDIS 网络接口索引。 即筛选器堆栈底部微型端口适配器的 NDIS 网络接口。

AccessType

NET_IF_ACCESS_TYPE NDIS 网络接口访问类型。

DirectionType

NET_IF_DIRECTION_TYPE NDIS 网络接口方向类型。

ConnectionType

NDIS 网络接口连接类型。 将 NET_IF_CONNECTION_DEDICATED 用于典型的以太网适配器。 以下 valuse 有效:

NET_IF_CONNECTION_DEDICATED

指定专用连接类型。 当媒体感知为 TRUE 时,连接会自动启动。 例如,以太网连接是专用的。

NET_IF_CONNECTION_PASSIVE

指定被动连接类型。 另一端必须启动与本地工作站的连接。 例如,RAS 接口是被动的。

NET_IF_CONNECTION_DEMAND

指定按需拨号连接类型。 请求拨号连接是针对本地操作的响应而出现的,例如发送数据包。

IfType

Internet 号码分配机构 (IANA) 接口类型。 例如,IF_TYPE_ETHERNET_CSMACD (6) 是分配给任何类似以太网的接口的 IfType 的值。 有关接口类型的列表,请参阅 NDIS 接口类型

IfConnectorPresent

一个布尔值,指示是否存在连接器。 如果存在物理适配器,则 NDIS 将此值设置为 TRUE

ActivePorts

待定。

DataBackFillSize

基础驱动程序堆栈所需的数据回填大小(以字节为单位)。

ContextBackFillSize

基础驱动程序堆栈所需的上下文回填大小(以字节为单位)。

MacOptions

微型端口适配器的 MAC 选项。 有关详细信息,请参阅 OID_GEN_MAC_OPTIONS

CompartmentId

基础接口所属的隔离舱或以下值之一:

NET_IF_COMPARTMENT_ID_UNSPECIFIED

指定不使用或未指定隔离舱标识符。

NET_IF_COMPARTMENT_ID_PRIMARY

指定默认隔离舱标识符。 第三方接口提供程序必须始终指定NET_IF_COMPARTMENT_ID_PRIMARY。 所有其他值都保留给 Microsoft 内部使用。

DefaultOffloadConfiguration

指向 NDIS_OFFLOAD 结构的指针。 此结构指定支持任务卸载的微型端口适配器的功能。 有关详细信息,请参阅 OID_TCP_OFFLOAD_CURRENT_CONFIG

TcpConnectionOffloadCapabilities

指向 的指针 NDIS_TCP_CONNECTION_OFFLOAD 结构,指示基础微型端口适配器提供的当前卸载功能。

BoundAdapterName

指向 Unicode 字符串的指针,该字符串包含堆叠在基础微型端口适配器上的最高级别微型端口适配器的名称。 也就是说,如果有通过微型端口适配器安装的筛选器中间驱动程序虚拟微型端口,则此成员是最高级别筛选器中间驱动程序虚拟微型端口的名称。

HDSplitCurrentConfig

指向 的指针 NDIS_HD_SPLIT_CURRENT_CONFIG 结构。 此结构指定基础微型端口适配器的当前标头数据拆分配置。 如果微型端口适配器不支持标头数据拆分,则此值可以为 NULL

ReceiveFilterCapabilities

指向 的指针 NDIS_RECEIVE_FILTER_CAPABILITIES 结构。 此结构指定当前在基础微型端口适配器上启用的通用筛选功能。 如果微型端口适配器不支持接收筛选,则此值可以为 NULL

PowerManagementCapabilitiesEx

指向 NDIS_PM_CAPABILITIES 结构的指针。 此结构指定微型端口适配器的电源管理功能。 此成员对于 NDIS 6.20 及更高版本的驱动程序是必需的。

NicSwitchCapabilities

指向 的指针 NDIS_NIC_SWITCH_CAPABILITIES 结构。 此结构指定基础微型端口适配器的 NIC 切换功能。 如果微型端口适配器不支持 NIC 开关功能,则此值可以为 NULL

NDKEnabled

如果基础微型端口适配器上当前启用了网络直接内核提供程序接口 (NDKPI) ,则 NDIS 会将此值设置为 TRUE

NDKCapabilities

指向 NDIS_NDK_CAPABILITIES 结构的指针。 此结构指定当前在基础微型端口适配器上启用的 NDKPI 功能。 如果微型端口适配器不支持 NDKPI,则此值可以为 NULL

SriovCapabilities

指向 NDIS_SRIOV_CAPABILITIES 结构的指针。 此结构指定当前在基础微型端口适配器上启用的单根 I/O 虚拟化 (SR-IOV) 功能。 如果微型端口适配器不支持 SR-IOV 功能,则此值可以为 NULL

NicSwitchArray

指向 NDIS_NIC_SWITCH_INFO_ARRAY 结构的指针。 此数组枚举已在微型端口适配器上创建的 NIC 开关。 只有在适配器上支持并启用了 SR-IOV 时,才能创建 NIC 交换机。

注意从 Windows Server 2012 开始,Windows 仅支持微型端口适配器上的默认 NIC 开关。 因此,此数组只能包含一个元素。
 

注解

NDIS 在 的 BindParameters 参数中传递指向 NDIS_BIND_PARAMETERS 结构的指针 ProtocolBindAdapterEx 函数。

要求

要求
最低受支持的客户端 在 NDIS 6.0 及更高版本中受支持。
标头 ndis.h (包括 Ndis.h)

另请参阅

NDIS_HD_SPLIT_CURRENT_CONFIG

NDIS_MEDIUM

NDIS_NIC_SWITCH_CAPABILITIES

NDIS_NIC_SWITCH_INFO_ARRAY

NDIS_OBJECT_HEADER

NDIS_OFFLOAD

NDIS_PM_CAPABILITIES

NDIS_RECEIVE_FILTER_CAPABILITIES

NDIS_SRIOV_CAPABILITIES

NDIS_TCP_CONNECTION_OFFLOAD

NET_IF_ACCESS_TYPE

NET_IF_DIRECTION_TYPE

NET_LUID

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_MAXIMUM_FRAME_SIZE

OID_GEN_MAX_LINK_SPEED

OID_GEN_MEDIA_CONNECT_STATUS_EX

OID_GEN_MEDIA_DUPLEX_STATE

OID_GEN_PHYSICAL_MEDIUM

OID_GEN_RECEIVE_SCALE_CAPABILITIES

OID_PNP_CAPABILITIES

OID_TCP_OFFLOAD_CURRENT_CONFIG

ProtocolBindAdapterEx