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


структура MIB_IFROW (ifmib.h)

В структуре MIB_IFROW хранятся сведения об определенном интерфейсе.

Синтаксис

typedef struct _MIB_IFROW {
  WCHAR                   wszName[MAX_INTERFACE_NAME_LEN];
  IF_INDEX                dwIndex;
  IFTYPE                  dwType;
  DWORD                   dwMtu;
  DWORD                   dwSpeed;
  DWORD                   dwPhysAddrLen;
  UCHAR                   bPhysAddr[MAXLEN_PHYSADDR];
  DWORD                   dwAdminStatus;
  INTERNAL_IF_OPER_STATUS dwOperStatus;
  DWORD                   dwLastChange;
  DWORD                   dwInOctets;
  DWORD                   dwInUcastPkts;
  DWORD                   dwInNUcastPkts;
  DWORD                   dwInDiscards;
  DWORD                   dwInErrors;
  DWORD                   dwInUnknownProtos;
  DWORD                   dwOutOctets;
  DWORD                   dwOutUcastPkts;
  DWORD                   dwOutNUcastPkts;
  DWORD                   dwOutDiscards;
  DWORD                   dwOutErrors;
  DWORD                   dwOutQLen;
  DWORD                   dwDescrLen;
  UCHAR                   bDescr[MAXLEN_IFDESCR];
} MIB_IFROW, *PMIB_IFROW;

Члены

wszName[MAX_INTERFACE_NAME_LEN]

Тип: WCHAR[MAX_INTERFACE_NAME_LEN]

Указатель на строку Юникода, содержащую имя интерфейса.

dwIndex

Тип: DWORD

Индекс, идентифицирующий интерфейс. Это значение индекса может измениться, если сетевой адаптер отключен и включен, и его не следует считать постоянным.

dwType

Тип: DWORD

Тип интерфейса, определенный центром имен, назначенных Через Интернет (IANA). Для получения дополнительной информации см. http://www.iana.org/assignments/ianaiftype-mib. Возможные значения для типа интерфейса перечислены в файле заголовка Ipifcons.h .

В приведенной ниже таблице перечислены общие значения для типа интерфейса, хотя возможны и многие другие значения.

Значение Значение
IF_TYPE_OTHER
1
Другой тип сетевого интерфейса.
IF_TYPE_ETHERNET_CSMACD
6
Сетевой интерфейс Ethernet.
IF_TYPE_ISO88025_TOKENRING
9
Сетевой интерфейс круга маркеров.
IF_TYPE_FDDI
15
Сетевой интерфейс Fibre Distributed Data Interface (FDDI).
IF_TYPE_PPP
23
Сетевой интерфейс PPP.
IF_TYPE_SOFTWARE_LOOPBACK
24
Программный сетевой интерфейс замыкания на себя.
IF_TYPE_ATM
37
Сетевой интерфейс ATM.
IF_TYPE_IEEE80211
71
Беспроводной сетевой интерфейс IEEE 802.11.
IF_TYPE_TUNNEL
131
Сетевой интерфейс инкапсуляции типа туннеля.
IF_TYPE_IEEE1394
144
Высокопроизводительный сетевой интерфейс последовательной шины IEEE 1394 (Firewire).
IF_TYPE_IEEE80216_WMAN
237
Мобильный широкополосный интерфейс для устройств WiMax.
Примечание Этот тип интерфейса поддерживается в Windows 7, Windows Server 2008 R2 и более поздних версиях.
 
IF_TYPE_WWANPP
243
Мобильный широкополосный интерфейс для устройств на основе GSM.
Примечание Этот тип интерфейса поддерживается в Windows 7, Windows Server 2008 R2 и более поздних версиях.
 
IF_TYPE_WWANPP2
244
Мобильный широкополосный интерфейс для устройств на основе CDMA.
Примечание Этот тип интерфейса поддерживается в Windows 7, Windows Server 2008 R2 и более поздних версиях.
 

dwMtu

Тип: DWORD

Максимальный размер единицы передачи (MTU) в байтах.

dwSpeed

Тип: DWORD

Скорость интерфейса в битах в секунду.

dwPhysAddrLen

Тип: DWORD

Длина (в байтах) физического адреса, указанного членом bPhysAddr .

bPhysAddr[MAXLEN_PHYSADDR]

Тип: BYTE[MAXLEN_PHYSADDR]

Физический адрес адаптера для этого интерфейса.

dwAdminStatus

Тип: DWORD

Интерфейс включен или отключен в административном режиме.

dwOperStatus

Тип: DWORD

Рабочее состояние интерфейса. Этот член может быть одним из следующих значений, определенных в перечислении INTERNAL_IF_OPER_STATUS, определенном в файле заголовка Ipifcons.h .

Значение Значение
IF_OPER_STATUS_NON_OPERATIONAL
Адаптер локальной сети отключен, например из-за конфликта адресов.
IF_OPER_STATUS_UNREACHABLE
Адаптер глобальной сети, который не подключен.
IF_OPER_STATUS_DISCONNECTED
Для адаптеров локальной сети: сетевой кабель отключен. Для адаптеров глобальной сети: нет оператора.
IF_OPER_STATUS_CONNECTING
Адаптер глобальной сети, который находится в процессе подключения.
IF_OPER_STATUS_CONNECTED
Адаптер глобальной сети, подключенный к удаленному одноранговой сети.
IF_OPER_STATUS_OPERATIONAL
Состояние по умолчанию для адаптеров локальной сети

dwLastChange

Тип: DWORD

Продолжительность времени в сотых секундах (10^-2 с), начиная с последней перезагрузки компьютера, когда интерфейс вступил в текущее рабочее состояние. Это значение переворачивается через 2^32 сотые секунды.

Член dwLastChange в настоящее время не поддерживается NDIS. В Windows Vista и более поздних версиях NDIS возвращает ноль для этого элемента. В более ранних версиях Windows в этом элементе возвращается произвольное значение для интерфейсов, поддерживаемых NDIS. Для интерфейсов, поддерживаемых другими поставщиками интерфейсов, они могут возвращать соответствующее значение.

dwInOctets

Тип: DWORD

Количество октетов данных, полученных через этот интерфейс.

dwInUcastPkts

Тип: DWORD

Количество одноадресных пакетов, полученных через этот интерфейс.

dwInNUcastPkts

Тип: DWORD

Количество пакетов, не являющихся одноадресными, полученных через этот интерфейс. Широковещательные и многоадресные пакеты включены.

dwInDiscards

Тип: DWORD

Количество отброшенных входящих пакетов, даже если в них не было ошибок.

dwInErrors

Тип: DWORD

Количество входящих пакетов, которые были отменены из-за ошибок.

dwInUnknownProtos

Тип: DWORD

Количество входящих пакетов, которые были отменены, так как протокол неизвестен.

dwOutOctets

Тип: DWORD

Количество октетов данных, отправленных через этот интерфейс.

dwOutUcastPkts

Тип: DWORD

Количество одноадресных пакетов, отправленных через этот интерфейс.

dwOutNUcastPkts

Тип: DWORD

Количество пакетов, не являющихся одноадресными, отправляемых через этот интерфейс. Широковещательные и многоадресные пакеты включены.

dwOutDiscards

Тип: DWORD

Количество исходящих пакетов, которые были отменены, даже если в них не было ошибок.

dwOutErrors

Тип: DWORD

Количество исходящих пакетов, которые были отменены из-за ошибок.

dwOutQLen

Тип: DWORD

Длина очереди передачи. В настоящее время это поле не используется.

dwDescrLen

Тип: DWORD

Длина элемента bDescr (в байтах).

bDescr[MAXLEN_IFDESCR]

Тип: BYTE[MAXLEN_IFDESCR]

Описание интерфейса.

Комментарии

Член dwSpeedструктуры MIB_IFROW будет неправильным для очень высокоскоростных сетевых интерфейсов (например, сетевого адаптера 10 Гбит/с), так как максимальное значение, которое может храниться в DWORD, равно 4 294 967 295. Приложения должны использовать структуру MIB_IF_ROW2 , возвращаемую функциями GetIfEntry2 и GetIfTable2 , или структуру IP_ADAPTER_ADDRESSES , возвращаемую функцией GetAdaptersAddresses , для определения скорости для очень высокоскоростных сетевых интерфейсов.

В microsoft пакет средств разработки программного обеспечения для Windows (SDK), выпущенном для Windows Vista и более поздних версий, организация файлов заголовков изменилась, а структура MIB_IFROW определена в файле заголовка Ifmib.h, а не в файле заголовка Iprtrmib.h. Обратите внимание, что файл заголовка Ifmib.h автоматически включается в iprtrmib.h , который автоматически включается в файл заголовка Iphlpapi.h . Файлы заголовков Ifmib.h и Iprtrmib.h никогда не следует использовать напрямую.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Верхняя часть ifmib.h (включая Iphlpapi.h)

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

GetAdaptersAddresses

GetIfEntry

GetIfEntry2

IP_ADAPTER_ADDRESSES

MIB_IFSTATUS

MIB_IFTABLE

MIB_IF_TABLE2

MPR_INTERFACE_0