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


Функция GetIfStackTable (netioapi.h)

Функция GetIfStackTable извлекает таблицу записей строк стека сетевых интерфейсов, определяющих связь сетевых интерфейсов в стеке интерфейсов.

Синтаксис

IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API GetIfStackTable(
  [out] PMIB_IFSTACK_TABLE *Table
);

Параметры

[out] Table

Указатель на буфер, который получает таблицу записей строк стека интерфейса в структуре MIB_IFSTACK_TABLE .

Возвращаемое значение

Если функция выполнена успешно, возвращаемое значение будет NO_ERROR.

Если функция завершается сбоем, возвращается один из следующих кодов ошибок.

Код возврата Описание
ERROR_INVALID_PARAMETER
В функцию передан недопустимый параметр. Эта ошибка возвращается, если в параметре Table передается указатель NULL.
ERROR_NOT_ENOUGH_MEMORY
Для завершения операции недостаточно ресурсов памяти.
ERROR_NOT_FOUND
Записи стека интерфейса не найдены.
Другое
Используйте функцию FormatMessage , чтобы получить строку сообщения для возвращаемой ошибки.

Комментарии

Функция GetIfStackTable определена в Windows Vista и более поздних версиях.

The
Функция 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 Server 2008 [только классические приложения]
Целевая платформа Windows
Header netioapi.h (включая Iphlpapi.h)
Библиотека Iphlpapi.lib
DLL Iphlpapi.dll

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

FreeMibTable

GetIfEntry2

GetIfTable2

GetInvertedIfStackTable

GetIpInterfaceEntry

InitializeIpInterfaceEntry

MIB_IFSTACK_ROW

MIB_IFSTACK_TABLE

MIB_IF_ROW2

MIB_IF_TABLE2

MIB_INVERTEDIFSTACK_ROW

MIB_INVERTEDIFSTACK_TABLE

MIB_IPINTERFACE_ROW

NotifyIpInterfaceChange

SetIpInterfaceEntry