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) 。 提供程序将 Header 指定的结构的 Type 成员设置为 NDIS_OBJECT_TYPE_DEFAULT,将 Revision 成员设置为 NDIS_OBJECT_REVISION_1,并将 Size 成员设置为 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 设备的 rfC 2667) 的 tunnelIfEncapsMethod (。 如果 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 地址的长度(以字节为单位)。 此长度是位于 PhysAddressOffset 成员和 PermanentPhysAddressOffset 成员指定的偏移量的字节数组 的 长度。
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 函数。
接口提供程序应为 PhysAddressOffset、PermanentPhysAddressOffset 和 FriendlyNameOffset 成员指定的结构和数组分配足够的内存。 提供程序必须在 结构后提供数组的值,并设置偏移成员以标识数组的位置。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 NDIS 6.0 及更高版本中受支持。 |
标头 | ndis.h (包括 Ndis.h) |