将 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 会根据 ifAlias 请求生成接口别名(RFC 2863 中的 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.x 和早期驱动程序获取信息的 OID 的映射。 该表还包括一些未定义为 MIB 对象的其他接口对象。 接口对象还与 NDIS_INTERFACE_INFORMATION 结构中的成员相对应,该结构与 OID_GEN_INTERFACE_INFO OID 相关联。

注意 表中标有星号 (*) 前缀的 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.x 驱动程序的 ifHCInOctets 值:

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.x 驱动程序的 ifHCInOctets 值:

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