Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Функция GetIfTable2Ex извлекает таблицу интерфейса MIB-II.
Синтаксис
IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API GetIfTable2Ex(
[in] MIB_IF_TABLE_LEVEL Level,
[out] PMIB_IF_TABLE2 *Table
);
Параметры
[in] Level
Уровень извлекаемых сведений об интерфейсе. Этот параметр может быть одним из значений из типа перечисления MIB_IF_TABLE_LEVEL , определенного в файле заголовка Netioapi.h .
| Значение | Значение |
|---|---|
|
Значения статистики и состояния, возвращаемые в элементах структуры MIB_IF_ROW2 в структуре MIB_IF_TABLE2 , на которую указывает параметр Table , возвращаются из верхней части стека фильтров при указании этого параметра. |
|
Значения статистики и состояния, возвращаемые в элементах структуры MIB_IF_ROW2 в структуре MIB_IF_TABLE2 , на которую указывает параметр Table , возвращаются непосредственно для запрашиваемого интерфейса. |
[out] Table
Указатель на буфер, который получает таблицу интерфейсов в структуре MIB_IF_TABLE2 .
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение будет NO_ERROR.
Если функция завершается сбоем, возвращаемое значение представляет собой один из следующих кодов ошибок.
| Код возврата | Описание |
|---|---|
|
В функцию передан недопустимый параметр. Эта ошибка возвращается, если в параметре Level было передано недопустимое значение. |
|
Недостаточно ресурсов памяти для завершения операции. |
|
Используйте FormatMessage , чтобы получить строку сообщения для возвращенной ошибки. |
Комментарии
The
Функция GetIfTable2Ex перечисляет логические и физические интерфейсы в локальной системе и возвращает эти сведения в MIB_IF_TABLE2 структуре.
GetIfTable2Ex — это расширенная версия функции GetIfTable , которая позволяет выбирать уровень извлекаемых сведений об интерфейсе.
Аналогичную функцию GetIfTable2 также можно использовать для извлечения интерфейсов. но не позволяет указать уровень возвращаемых интерфейсов. Вызов функции GetIfTable2Ex с параметром Level , равным MibIfTableNormal , получает те же результаты, что и вызов функции GetIfTable2 .
Интерфейсы возвращаются в MIB_IF_TABLE2 структуре в буфере, на который указывает параметр Table . Структура MIB_IF_TABLE2 содержит число интерфейсов и массив MIB_IF_ROW2 структур для каждого интерфейса. Память выделяется функцией GetIfTable2 для структуры MIB_IF_TABLE2 и MIB_IF_ROW2 записей в этой структуре. Если возвращаемые структуры больше не требуются, освободите память, вызвав FreeMibTable.
Все интерфейсы, включая интерфейсы промежуточного драйвера NDIS и интерфейсы драйвера фильтра NDIS, возвращаются для любого из возможных значений параметра Level . Параметр параметра Level влияет на то, как возвращаются статистические данные и элементы состояния MIB_IF_ROW2 структуры в структуре MIB_IF_TABLE2 , на которую указывает параметр Table для интерфейса. Например, сетевой интерфейс карта (NIC) будет иметь драйвер мини-порта NDIS. Для взаимодействия между драйверами протокола верхнего уровня и драйверами минипорта NDIS можно установить промежуточный драйвер NDIS. Драйвер фильтра NDIS (LWF) можно подключить поверх промежуточного драйвера NDIS. Предположим, что сетевой адаптер сообщает элемент MediaConnectState структуры MIB_IF_ROW2 как MediaConnectStateConnectConnected , но драйвер фильтра NDIS изменяет состояние и сообщает о состоянии как MediaConnectStateDisconnected. При запросе сведений об интерфейсе с параметром Level , имеющим значение MibIfTableNormal, отображается состояние в верхней части стека фильтров, то есть MediaConnectStateDisconnected . При запросе интерфейса с параметром Level , равным MibIfTableRaw, возвращается состояние непосредственно на уровне интерфейса, то есть MediaConnectStateConnectEd .
Обратите внимание, что возвращаемая структура MIB_IF_TABLE2 , на которую указывает параметр Table, может содержать заполнение для выравнивания между элементом NumEntries и первой записью массива MIB_IF_ROW2 в элементе Tableструктуры MIB_IF_TABLE2 . Между MIB_IF_ROW2 записями массива также может присутствовать заполнение для выравнивания. Любой доступ к записи массива MIB_IF_ROW2 должен предполагать наличие заполнения.
Требования
| Требование | Значение |
|---|---|
| Минимальная версия клиента | Windows Vista [только классические приложения] |
| Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
| Целевая платформа | Windows |
| Header | netioapi.h (включая Iphlpapi.h) |
| Библиотека | Iphlpapi.lib |
| DLL | Iphlpapi.dll |