将 NDIS 网络接口映射到 NDIS OID

为了响应 NDIS 接口对象请求,NDIS 接口提供程序可以缓存他们从基础驱动程序获取的信息,还可以发出 OID 请求以获取有关基础接口的信息。

作为代理接口提供程序,NDIS 通常缓存它收到的有关微型端口适配器和筛选器模块的信息。 NDIS 代理接口提供程序使用缓存的信息(如果适用)来响应接口请求。 在某些情况下,NDIS 代理接口提供程序会发出 OID 来获取接口的信息。 例如,NDIS 5 的接口信息的主要源。x 和更早版本的驱动程序通过 OID 请求。 在 NDIS 6.0 驱动程序中,还有其他接口信息源,例如 NDIS_RESTART_ATTRIBUTESNDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES 结构。 有关 OID 中备用信息源的详细信息,请参阅每个 OID 的参考页。

NDIS 代理接口提供程序还代表微型端口适配器和筛选器模块生成一些接口信息。 例如,NDIS 在 RFC 2863 中生成一个接口别名 (ifAlias ,) 以响应 ifAlias 请求。 NDIS 定义其他 OID 以从 NDIS 接口提供程序获取此类信息。 例如, OID_GEN_ALIAS 允许接口提供程序指定 ifAlias 对象。 此类 OID 特定于接口提供程序,永远不会用于从其他 NDIS 驱动程序获取信息。

除了特定于接口提供程序的 OID 之外,接口提供程序还必须支持 NDIS 可用于获取接口信息的其他 NDIS OID。 NDIS 可以将这些 OID 颁发给提供程序,并且提供程序可以颁发这些 OID(如有必要),以便从基础接口收集信息。

注意 NDIS 定义 RFC 2863 中不包括的其他统计信息。 有关将所有 NDIS 支持的接口统计信息映射到 OID 的列表,请参阅 NDIS_INTERFACE_INFORMATION 结构的成员。 本主题中的表定义了 RFC 2863 规范中为尝试将规范与 NDIS 实现关联的读取器定义的统计信息映射。

下表显示了从管理信息库中定义的对象的映射, (MIB) 到 NDIS 6.0 OID,以及 NDIS 可能用于从 NDIS 5 获取信息的 OID。x 和更早版本的驱动程序。 该表还包括一些未定义为 MIB 对象的附加接口对象。 接口对象还对应于与 OID_GEN_INTERFACE_INFO OID 关联的 NDIS_INTERFACE_INFORMATION 结构中的成员。

注意 表中标有星号 (*) 前缀的 NDIS 6.0 OID 特定于接口提供程序。 可以将其他 NDIS 6.0 OID 颁发给接口提供程序和其他 NDIS 驱动程序。

接口 MIB 值 NDIS 6.0 OID NDIS 5.x 及更早版本的 OID

ifAdminStatus

* OID_GEN_ADMIN_STATUS

ifAlias

* OID_GEN_ALIAS

ifCounterDiscontinuityTime

* OID_GEN_DISCONTINUITY_TIME

ifHCInBroadcastPkts

OID_GEN_BROADCAST_FRAMES_RCV

OID_GEN_BROADCAST_FRAMES_RCV

ifHCInMulticastPkts

OID_GEN_MULTICAST_FRAMES_RCV

OID_GEN_MULTICAST_FRAMES_RCV

ifHCInOctets

OID_GEN_BYTES_RCV

NDIS 添加这些 OID 的结果,以从 NDIS 5 收集 ifHCInOctets 值。x 驱动程序:

OID_GEN_DIRECTED_BYTES_RCV+

OID_GEN_MULTICAST_BYTES_RCV+

OID_GEN_BROADCAST_BYTES_RCV

NDIS 6.0 接口提供程序还应支持这些 OID。

ifHCInUcastPkts

OID_GEN_DIRECTED_FRAMES_RCV

OID_GEN_DIRECTED_FRAMES_RCV

ifHCOutBroadcastPkts

OID_GEN_BROADCAST_FRAMES_XMIT

OID_GEN_BROADCAST_FRAMES_XMIT

ifHCOutMulticastPkts

OID_GEN_MULTICAST_FRAMES_XMIT

OID_GEN_MULTICAST_FRAMES_XMIT

ifHCOutOctets

OID_GEN_BYTES_XMIT

NDIS 添加这些 OID 的结果,以从 NDIS 5 收集 ifHCInOctets 值。x 驱动程序:

OID_GEN_DIRECTED_BYTES_XMIT+

OID_GEN_MULTICAST_BYTES_XMIT+

OID_GEN_BROADCAST_BYTES_XMIT

NDIS 6.0 接口提供程序还应支持这些 OID。

ifHCOutUCastPkts

OID_GEN_DIRECTED_FRAMES_XMIT

OID_GEN_DIRECTED_FRAMES_XMIT

ifHighSpeed

* OID_GEN_LINK_SPEED_EX, * OID_GEN_XMIT_LINK_SPEED, * OID_GEN_RCV_LINK_SPEED

OID_GEN_LINK_SPEED

ifInDiscards

OID_GEN_RCV_DISCARDS

ifInErrors

OID_GEN_RCV_ERROR

OID_GEN_RCV_ERROR

ifLastChange

* OID_GEN_LAST_CHANGE

ifMtu

OID_GEN_MAXIMUM_FRAME_SIZE

OID_GEN_MAXIMUM_FRAME_SIZE

ifOperStatus

* OID_GEN_OPERATIONAL_STATUS

ifOutDiscards

OID_GEN_XMIT_DISCARDS

OID_GEN_XMIT_DISCARDS

ifOutErrors

OID_GEN_XMIT_ERROR

OID_GEN_XMIT_ERROR

ifPhysAddress

OID_802_3_CURRENT_ADDRESS

OID_802_3_CURRENT_ADDRESS

ifPromiscuousMode

* OID_GEN_PROMISCUOUS_MODE

不适用

OID_802_3_PERMANENT_ADDRESS

OID_802_3_PERMANENT_ADDRESS

不适用

* OID_GEN_INTERFACE_INFO

不适用

* OID_GEN_MEDIA_CONNECT_STATUS_EX

不适用

* OID_GEN_MEDIA_DUPLEX_STATE

不适用

OID_GEN_STATISTICS