getIfTable2Ex 函数 (netioapi.h)

GetIfTable2Ex 函数检索 MIB-II 接口表。

语法

IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API GetIfTable2Ex(
  [in]  MIB_IF_TABLE_LEVEL Level,
  [out] PMIB_IF_TABLE2     *Table
);

参数

[in] Level

要检索的接口信息的级别。 此参数可以是 Netioapi.h 头文件中定义的 MIB_IF_TABLE_LEVEL 枚举类型的值之一。

含义
MibIfTableNormal
指定此参数时,Table 参数指向的 MIB_IF_TABLE2 结构中的 MIB_IF_ROW2 结构成员返回的统计信息和状态的值将从筛选器堆栈顶部返回。
MibIfTableRaw
Table 参数指向的 MIB_IF_TABLE2 结构中的 MIB_IF_ROW2 结构成员中返回的统计信息值和状态值将直接返回查询的接口。

[out] Table

指向缓冲区的指针,该缓冲区接收 MIB_IF_TABLE2 结构中的接口表。

返回值

如果函数成功,则返回值NO_ERROR。

如果函数失败,则返回值为以下错误代码之一。

返回代码 说明
ERROR_INVALID_PARAMETER
向该函数传递了无效参数。 如果在 Level 参数中传递了非法值,则返回此错误。
ERROR_NOT_ENOUGH_MEMORY
内存资源不足,无法完成操作。
其他
使用 FormatMessage 获取返回错误的消息字符串。

注解

The
GetIfTable2Ex 函数枚举本地系统上的逻辑接口和物理接口,并在 MIB_IF_TABLE2 结构中返回此信息。 GetIfTable2ExGetIfTable 函数的增强版本,允许选择要检索的接口信息级别。

类似的 GetIfTable2 函数也可用于检索接口。 但不允许指定要返回的接口级别。 调用 Level 参数设置为 MibIfTableNormalGetIfTable2Ex 函数将检索与调用 GetIfTable2 函数相同的结果。

接口在 Table 参数指向的缓冲区中的MIB_IF_TABLE2结构中返回。 MIB_IF_TABLE2 结构包含每个接口的接口计数和MIB_IF_ROW2结构的数组。 内存由 GetIfTable2 函数为此结构中的 MIB_IF_TABLE2MIB_IF_ROW2 项分配。 当不再需要这些返回的结构时,通过调用 FreeMibTable 释放内存。

对于 Level 参数的任一可能值,返回所有接口(包括 NDIS 中间驱动程序接口和 NDIS 筛选器驱动程序接口)。 Level 参数的设置会影响接口的 Table 参数指向的 MIB_IF_TABLE2 结构中MIB_IF_ROW2结构的统计信息和状态成员的返回方式。 例如,网络接口卡 (NIC) 将具有 NDIS 微型端口驱动程序。 可以安装 NDIS 中间驱动程序,以在上层协议驱动程序和 NDIS 微型端口驱动程序之间进行接口。 可以在 NDIS 中间驱动程序的顶部附加 NDIS 筛选器驱动程序 (LWF) 。 假设 NIC 将 MIB_IF_ROW2 结构的 MediaConnectState 成员报告为 MediaConnectStateConnected ,但 NDIS 筛选器驱动程序修改状态并将状态报告为 MediaConnectStateDisconnected。 在 将 Level 参数设置为 MibIfTableNormal 的情况下查询接口信息时,将报告筛选器堆栈顶部的状态即 MediaConnectStateDisconnected 。 在将 Level 参数设置为 MibIfTableRaw 的情况下查询接口时,将返回接口级别的直接状态,即 MediaConnectStateConnected

请注意,Table 参数指向的返回MIB_IF_TABLE2结构可能包含 NumEntries 成员与 MIB_IF_TABLE2 结构的Table 成员中的第一个MIB_IF_ROW2数组条目之间的对齐填充。 MIB_IF_ROW2 数组条目 之间还可能存在对齐的填充。 对 MIB_IF_ROW2 数组条目的任何访问都应假定可能存在填充。

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 netioapi.h (包括 Iphlpapi.h)
Library Iphlpapi.lib
DLL Iphlpapi.dll

另请参阅

FreeMibTable

GetIfTable

GetIfTable2

IP 帮助程序函数参考

MIB_IF_ROW2

MIB_IF_TABLE2