Поделиться через


Функция 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 структуре в буфере, на которую указывает параметр 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_ROW в элементе Table структуры MIB_IFSTACK_TABLE. Между MIB_IFSTACK_ROW записями массива также может присутствовать заполнение для выравнивания. Любой доступ к записи массива MIB_IFSTACK_ROW должен предполагать наличие заполнения.

Требования

Целевая платформа

Универсальное

Версия

Доступно в Windows Vista и более поздних версиях операционных систем Windows.

Заголовок

Netioapi.h (включая Netioapi.h)

Библиотека

Netio.lib

IRQL

< DISPATCH_LEVEL

См. также раздел

FreeMibTable

GetIfEntry2

GetIfTable2

GetInvertedIfStackTable

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