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


Функция 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 возвращает записи стека интерфейса в структуре MIB_INVERTEDIFSTACK_TABLE в буфере, на который указывает параметр Table . Структура MIB_INVERTEDIFSTACK_TABLE содержит число записей стека интерфейса и массив MIB_INVERTEDIFSTACK_ROW структур для каждой записи стека интерфейса.

Связь между интерфейсами в стеке интерфейсов заключается в том, что интерфейс с индексом в элементе HigherLayerInterfaceIndex структуры MIB_INVERTEDIFSTACK_ROW находится непосредственно над интерфейсом с индексом в элементе LowerLayerInterfaceIndex структуры MIB_INVERTEDIFSTACK_ROW.

GetInvertedIfStackTable выделяет память для структуры MIB_INVERTEDIFSTACK_TABLE и MIB_INVERTEDIFSTACK_ROW записей в этой структуре. Если эти возвращаемые структуры больше не требуются, драйвер должен освободить память, вызвав FreeMibTable.

Обратите внимание, что возвращаемая MIB_INVERTEDIFSTACK_TABLE структура, на которую указывает параметр Table , может содержать заполнение для выравнивания между элементом NumEntries и первой записью массива MIB_INVERTEDIFSTACK_ROW в элементе Table структуры MIB_INVERTEDIFSTACK_TABLE. Между записями массива 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