GetInvertedIfStackTable 函数

GetInvertedIfStackTable 函数检索反转网络接口堆栈行条目的表,这些条目指定接口堆栈上网络接口的关系。

语法

NETIOAPI_API GetInvertedIfStackTable(
  _Out_ PMIB_INVERTEDIFSTACK_TABLE *Table
);

参数

  • [out]
    指向缓冲区的指针,该缓冲区接收 MIB_INVERTEDIFSTACK_TABLE 结构中反转接口堆栈行项的表。

返回值

如果函数成功,GetInvertedIfStackTable 将返回STATUS_SUCCESS。

如果函数失败, GetInvertedIfStackTable 将返回以下错误代码之一:

返回代码 说明
STATUS_INVALID_PARAMETER

向该函数传递了无效参数。 如果在 Table 参数中传递 NULL 指针,则返回此错误。

STATUS_NOT_ENOUGH_MEMORY

内存资源不足,无法完成操作。

STATUS_NOT_FOUND

找不到接口堆栈条目。

其他

使用 FormatMessage 函数获取返回错误的消息字符串。

注解

GetInvertedIfStackTable 函数枚举本地计算机上的接口堆栈上的物理和逻辑网络接口,并在 MIB_INVERTEDIFSTACK_TABLE 结构中以反转形式返回此信息。

GetInvertedIfStackTable 返回 Table 参数指向的缓冲区中MIB_INVERTEDIFSTACK_TABLE结构的接口堆栈条目。 MIB_INVERTEDIFSTACK_TABLE 结构包含接口堆栈条目计数和每个接口堆栈条目 的MIB_INVERTEDIFSTACK_ROW 结构数组。

接口堆栈中的接口之间的关系是,在 MIB_INVERTEDIFSTACK_ROW 结构的 HigherLayerInterfaceIndex 成员中具有索引的接口正上方,MIB_INVERTEDIFSTACK_ROW 结构的 LowerLayerInterfaceIndex 成员中具有索引。

GetInvertedIfStackTable 为MIB_INVERTEDIFSTACK_TABLE结构和此结构中的MIB_INVERTEDIFSTACK_ROW项分配内存。 当不再需要这些返回的结构时,驱动程序应通过调用 FreeMibTable 释放内存。

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

要求

目标平台

通用

版本

在 Windows Vista 和更高版本的 Windows 操作系统中可用。

标头

Netioapi.h (包括 Netioapi.h)

Netio.lib

IRQL

< DISPATCH_LEVEL

另请参阅

FreeMibTable

GetIfEntry2

GetIfStackTable

GetIfTable2

GetIpInterfaceEntry

InitializeIpInterfaceEntry

MIB_IF_ROW2

MIB_IF_TABLE2

MIB_IFSTACK_ROW

MIB_IFSTACK_TABLE

MIB_INVERTEDIFSTACK_ROW

MIB_INVERTEDIFSTACK_TABLE

MIB_IPINTERFACE_ROW

NotifyIpInterfaceChange

SetIpInterfaceEntry