GetIfStackTable 函数
GetIfStackTable 函数检索网络接口堆栈行项表,这些条目指定接口堆栈上的网络接口的关系。
语法
NETIOAPI_API GetIfStackTable(
_Out_ PMIB_IFSTACK_TABLE *Table
);
参数
-
表 [out]
指向接收 MIB_IFSTACK_TABLE 结构中接口堆栈行项表的缓冲区的指针。
返回值
GetIfStackTable 如果函数成功,则返回STATUS_SUCCESS。
如果函数失败,GetIfStackTable 返回以下错误代码之一:
返回代码 | 描述 |
---|---|
STATUS_INVALID_PARAMETER | 将无效参数传递给函数。 如果在 Table 参数中传递 NULL 指针,则返回此错误。 |
STATUS_NOT_ENOUGH_MEMORY | 内存资源不足,无法完成作。 |
STATUS_NOT_FOUND | 未找到接口堆栈条目。 |
其他 | 使用 FormatMessage 函数获取返回的错误的消息字符串。 |
言论
GetIfStackTable 函数枚举本地计算机上的接口堆栈上的物理和逻辑网络接口,并在 MIB_IFSTACK_TABLE 结构中返回此信息。
接口堆栈条目在 表 参数指向的缓冲区中的MIB_IFSTACK_TABLE结构中返回。 MIB_IFSTACK_TABLE结构包含接口堆栈项计数和每个接口堆栈条目的 MIB_IFSTACK_ROW 结构的数组。
接口堆栈中的接口之间的关系是,HigherLayerInterfaceIndex MIB_IFSTACK_ROW 成员中具有索引的接口紧接在 LowerLayerInterfaceIndex 成员MIB_IFSTACK_ROW结构的接口上方。
内存由 GetIfStackTable 函数为MIB_IFSTACK_TABLE结构和此结构中的MIB_IFSTACK_ROW项分配。 不再需要这些返回的结构时,驱动程序应通过调用 FreeMibTable来释放内存。
请注意,返回的MIB_IFSTACK_TABLE结构,Table 参数指向可能包含 NumEntries 成员与MIB_IFSTACK_TABLE结构 表 成员中的第一个MIB_IFSTACK_ROW数组项之间的填充。 对齐方式的填充也可能存在于MIB_IFSTACK_ROW数组条目之间。 对MIB_IFSTACK_ROW数组条目的任何访问都应假定填充可能存在。
要求
目标平台 |
通用 |
版本 |
在 Windows Vista 和更高版本的 Windows作系统中可用。 |
页眉 |
Netioapi.h (包括 Netioapi.h) |
图书馆 |
Netio.lib |
IRQL |
< DISPATCH_LEVEL |