Функция GetIfTable2
Функция GetIfTable2 извлекает таблицу интерфейса MIB-II.
Синтаксис
NETIOAPI_API GetIfTable2(
_Out_ PMIB_IF_TABLE2 *Table
);
Параметры
- Таблица [out]
Указатель на буфер, который получает таблицу интерфейсов в структуре MIB_IF_TABLE2 .
Возвращаемое значение
GetIfTable2 возвращает STATUS_SUCCESS, если функция выполнена успешно.
В случае сбоя функции GetIfTable2 возвращает один из следующих кодов ошибок:
Код возврата | Описание |
---|---|
STATUS_NOT_ENOUGH_MEMORY | Недостаточно ресурсов памяти для завершения операции. |
Другое | Используйте функцию FormatMessage , чтобы получить строку сообщения для возвращаемой ошибки. |
Комментарии
Функция GetIfTable2 перечисляет логические и физические интерфейсы на локальном компьютере и возвращает эти сведения в MIB_IF_TABLE2 структуре.
Драйвер может использовать аналогичную функцию GetIfTable2Ex, чтобы указать уровень возвращаемых интерфейсов. Вызов функции GetIfTable2Ex с параметром Level , равным MibIfTableNormal , получает те же результаты, что и вызов функции GetIfTable2 .
GetIfTable2 возвращает интерфейсы в структуре MIB_IF_TABLE2 в буфере, на который указывает параметр Table . Структура MIB_IF_TABLE2 содержит число интерфейсов и массив MIB_IF_ROW2 структур для каждого интерфейса. GetIfTable2 выделяет память для MIB_IF_TABLE2 структуры и MIB_IF_ROW2 записей в этой структуре. Если эти возвращаемые структуры больше не требуются, драйвер должен освободить память, вызвав FreeMibTable.
Обратите внимание, что возвращаемая MIB_IF_TABLE2 структура, на которую указывает параметр Table , может содержать заполнение для выравнивания между элементом NumEntries и первой записью массива MIB_IF_ROW2 в элементе Table структуры MIB_IF_TABLE2. Между MIB_IF_ROW2 записями массива также может присутствовать заполнение для выравнивания. Любой доступ к записи массива MIB_IF_ROW2 должен предполагать наличие заполнения.
Требования
Целевая платформа |
Универсальное |
Версия |
Доступно в Windows Vista и более поздних версиях операционных систем Windows. |
Заголовок |
Netioapi.h (включая Netioapi.h) |
Библиотека |
Netio.lib |
IRQL |
< DISPATCH_LEVEL |