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 添加了 ReceiveFilterCapabilities、 PowerManagementCapabilitiesEx 和 NicSwitchCapabilities 成员。
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 。 以下为有效值:
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 交换机。
注解
NDIS 在 的 BindParameters 参数中传递指向 NDIS_BIND_PARAMETERS 结构的指针 ProtocolBindAdapterEx 函数。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 NDIS 6.0 及更高版本中受支持。 |
标头 | ndis.h (包括 Ndis.h) |
另请参阅
NDIS_RECEIVE_FILTER_CAPABILITIESOID_GEN_MEDIA_CONNECT_STATUS_EX
OID_GEN_RECEIVE_SCALE_CAPABILITIES