NET_IF_INFORMATION结构(ndis.h)

NET_IF_INFORMATION结构为 NDIS 提供了有关已注册网络接口的信息。

语法

typedef struct _NET_IF_INFORMATION {
  NDIS_OBJECT_HEADER     Header;
  ULONG                  Flags;
  NET_PHYSICAL_LOCATION  PhysicalLocation;
  ULONG                  WanTunnelType;
  ULONG                  PortNumber;
  NET_IF_ACCESS_TYPE     AccessType;
  NET_IF_DIRECTION_TYPE  DirectionType;
  NET_IF_CONNECTION_TYPE ConnectionType;
  BOOLEAN                ifConnectorPresent;
  USHORT                 PhysAddressLength;
  USHORT                 PhysAddressOffset;
  USHORT                 PermanentPhysAddressOffset;
  USHORT                 FriendlyNameLength;
  USHORT                 FriendlyNameOffset;
  GUID                   InterfaceGuid;
  NET_IF_NETWORK_GUID    NetworkGuid;
  ULONG                  SupportedStatistics;
  NDIS_MEDIUM            MediaType;
  NDIS_PHYSICAL_MEDIUM   PhysicalMediumType;
} NET_IF_INFORMATION, *PNET_IF_INFORMATION;

成员

Header

接口信息结构的 NDIS_OBJECT_HEADER 结构(NET_IF_INFORMATION)。 提供程序将 标头 指定为NDIS_OBJECT_TYPE_DEFAULT的结构 类型 成员,将 修订 成员设置为NDIS_OBJECT_REVISION_1,并将 大小 成员设置为NDIS_SIZEOF_NET_IF_INFORMATION_REVISION_1。

Flags

提供此结构描述的接口相关信息的标志。 这些标志与按位 OR作结合使用。 如果没有任何标志适用,请将此成员设置为零。 定义了以下标志值:

NIIF_HARDWARE_INTERFACE

设置网络接口是否用于硬件。

NIIF_FILTER_INTERFACE

设置网络接口是否用于筛选器模块。

NIIF_NDIS_RESERVED1

保留为 NDIS。

NIIF_NDIS_RESERVED2

保留为 NDIS。

NIIF_NDIS_RESERVED3

保留为 NDIS。

PhysicalLocation

与在 中指定的接口关联的硬件的物理位置 NET_PHYSICAL_LOCATION 结构。

WanTunnelType

WAN 设备的 tunnelIfEncapsMethod(来自 RFC 2667)。 如果 WAN 隧道类型未知,请将此成员设置为NIIF_WAN_TUNNEL_TYPE_UNKNOWN。

PortNumber

接口的 NDIS 端口号。

AccessType

NET_IF_ACCESS_TYPE NDIS 网络接口访问类型。

DirectionType

NET_IF_DIRECTION_TYPE NDIS 网络接口方向类型。

ConnectionType

NET_IF_CONNECTION_TYPE NDIS 网络接口连接类型。

ifConnectorPresent

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

PhysAddressLength

物理地址或 MAC 地址的长度(以字节为单位)。 此长度是位于 PhysAddressOffsetPermanentPhysAddressOffset 成员所指定的偏移量的字节数组的长度。

PhysAddressOffset

当前物理地址的偏移量(以字节为单位)从此结构的开头。 当前物理地址是字节数组。 数组的长度在 PhysAddressLength 成员中指定。 当前物理地址与 OID_802_3_CURRENT_ADDRESS OID 返回的值相同。

PermanentPhysAddressOffset

永久物理地址的偏移量,以字节为单位,从此结构的开头。 永久物理地址是字节数组。 数组的长度在 PhysAddressLength 成员中指定。 永久物理地址与 OID_802_3_PERMANENT_ADDRESS OID 返回的值相同。

FriendlyNameLength

此结构描述的接口的友好名称的长度(以字节为单位)。 此长度是位于 FriendlyNameOffset 成员中偏移量的 WCHAR 数组的长度。

FriendlyNameOffset

友好名称开头的偏移量(以字节为单位)。从此结构的开头开始。 此名称应包括制造商的名称、产品和接口硬件和软件的版本。 该名称指定为 WCHAR 值的数组。 FriendlyNameLength 成员指定数组的长度。

InterfaceGuid

与接口关联的 GUID。 接口提供程序为接口生成接口 GUID。 提供程序可以调用 ExUuidCreate 例程来创建 GUID。 接口 GUID 应与分配给接口的 NET_LUID 值相关联。 如果提供程序在持久性存储中保留有关接口的信息,则应保存 GUID 并在计算机重启后重新注册接口时重复使用 GUID。

NetworkGuid

与接口所属的网络关联的 GUID。 如果接口提供程序无法提供网络 GUID,则它可以传递零 GUID。 在这种情况下,NDIS 将在主隔离舱的默认网络中注册接口。

SupportedStatistics

接口支持的统计信息。 有关详细信息,请参阅 SupportedStatistics 成员 NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES 结构。

MediaType

接口支持的 NdisMediumXxx 类型。 有关详细信息,请参阅 NDIS_MEDIUM

PhysicalMediumType

接口的物理介质类型。 有关详细信息,请参阅 OID_GEN_PHYSICAL_MEDIUM

言论

网络接口提供程序初始化NET_IF_INFORMATION结构,以便为 NDIS 提供有关已注册接口的信息。 若要注册接口,提供程序会将指向NET_IF_INFORMATION结构的指针传递给 NdisIfRegisterInterface 函数。

接口提供程序应为结构分配足够的内存,以及 PhysAddressOffsetPermanentPhysAddressOffset以及 FriendlyNameOffset 成员指定的数组。 提供程序必须在结构之后提供数组的值,并设置偏移成员以标识数组的位置。

要求

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

另请参阅

ExUuidCreate

NDIS_MEDIUM

NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES

NDIS_OBJECT_HEADER

NET_IF_ACCESS_TYPE

NET_IF_CONNECTION_TYPE

NET_IF_DIRECTION_TYPE

NET_LUID

NET_PHYSICAL_LOCATION

NdisIfRegisterInterface

OID_802_3_CURRENT_ADDRESS

OID_802_3_PERMANENT_ADDRESS

OID_GEN_PHYSICAL_MEDIUM

OID_GEN_STATISTICS