OID_GEN_MAC_OPTIONS

作为查询,OID_GEN_MAC_OPTIONS OID 指定一个位掩码,用于定义基础驱动程序或 NIC 的可选属性。

版本信息

Windows Vista 和更高版本的 Windows

NDIS 6.0 及更高版本的微型端口驱动程序
未请求。

NDIS 5.1 微型端口驱动程序
必需。

Windows XP

NDIS 5.1 微型端口驱动程序
必需。

注解

NDIS 为 NDIS 6.0 及更高版本的微型端口驱动程序处理此 OID。

启动此查询的协议可以确定基础驱动程序设置的标志,并且可以选择性地利用它们。

当前定义了以下标志:

NDIS_MAC_OPTION_COPY_LOOKAHEAD_DATA
协议驱动程序可以通过任何方式自由访问指示的数据。 某些快速复制功能在访问板载设备内存时出现问题。 指示数据来自映射设备内存的微型端口驱动程序绝不应设置此标志。 如果微型端口驱动程序设置了此标志,则会放宽对快速复制函数的限制。

NDIS_MAC_OPTION_RECEIVE_SERIALIZED
微型端口驱动程序以串行方式指示数据包。 也就是说,在上一个接收(如果有)完成之前,此类驱动程序不会输入新的接收指示。

NDIS_MAC_OPTION_TRANSFERS_NOT_PEND
微型端口驱动程序永远不会异步完成接收指示。

指示使用 NdisMIndicateReceiveNetBufferLists 函数接收操作的微型端口驱动程序应设置此标志。

NDIS_MAC_OPTION_NO_LOOPBACK
NIC 没有内部环回支持,因此 NDIS 将代表此驱动程序管理环回。 微型端口驱动程序无法像 NDIS 那样高效地提供自己的软件环回,因此每个微型端口驱动程序都应设置此标志,除非 NIC 具有硬件环回支持。 WAN 微型端口驱动程序必须设置此标志。

NDIS_MAC_OPTION_FULL_DUPLEX
微型端口驱动程序支持 SMP 平台上的全双工传输和指示。

注意 此标志已弃用,供 NDIS 5.0 及更高版本的微型端口驱动程序使用。 NDIS 5.0 及更高版本忽略此标志。

NDIS_MAC_OPTION_EOTX_INDICATION
此标志已过时。

NDIS_MAC_OPTION_8021P_PRIORITY
NIC 及其驱动程序支持 802.1p 数据包优先级。 有关详细信息,请参阅 数据包优先级。 数据包优先级值在 NET_BUFFER 结构中从更高层驱动程序接收。 适当的信息在数据包的 MAC 标头中生成,并通过网络传输。 此外,此 NIC 及其驱动程序支持从从网络接收的数据包的 MAC 标头中提取相应信息。 此信息在NET_BUFFER结构中转发到更高层的驱动程序。

注意 NDIS 6.0 及更高版本及更高版本微型端口驱动程序必须设置NDIS_MAC_OPTION_8021P_PRIORITY标志。

NDIS_MAC_OPTION_SUPPORTS_MAC_ADDRESS_OVERWRITE
当微型端口驱动程序调用 NdisReadNetworkAddress 函数时,NDIS 将设置此标志。

NDIS_MAC_OPTION_RECEIVE_AT_DPC
此标志已过时。

NDIS_MAC_OPTION_8021Q_VLAN
微型端口驱动程序可以在数据包的 MAC 标头中分配和删除 VLAN 标识符 (ID) 标记。 驱动程序为驱动程序处理的每个 NIC 维护配置的 VLAN ID。 驱动程序筛选出不属于 NIC 关联的 VLAN 的传入数据包,并使用 VLAN ID 标记传出数据包。 在驱动程序针对特定 NIC 的 MiniportInitializeEx 函数期间,驱动程序最初将 NIC 的 VLAN ID 设置为零。 然后,驱动程序的 MiniportInitializeEx 函数从注册表中读取以下配置参数,如果参数存在,则将 NIC 的 VLAN ID 设置为参数的值。

VlanId, REG_DWORD

NDIS_MAC_OPTION_RESERVED
保留供 NDIS 内部使用。

注意 设置NDIS_MAC_OPTION_8021Q_VLAN标志的微型端口驱动程序还必须设置NDIS_MAC_OPTION_8021P_PRIORITY标志。 换句话说,支持 802.1Q 的微型端口驱动程序还必须支持 802.1p。

要求

标头

Ntddndis.h (包括 Ndis.h)

另请参阅

MiniportInitializeEx

NdisReadNetworkAddress

NET_BUFFER