структура MIB_IF_ROW2 (netioapi.h)
В структуре MIB_IF_ROW2 хранятся сведения о конкретном интерфейсе.
Синтаксис
typedef struct _MIB_IF_ROW2 {
NET_LUID InterfaceLuid;
NET_IFINDEX InterfaceIndex;
GUID InterfaceGuid;
WCHAR Alias[IF_MAX_STRING_SIZE + 1];
WCHAR Description[IF_MAX_STRING_SIZE + 1];
ULONG PhysicalAddressLength;
UCHAR PhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH];
UCHAR PermanentPhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH];
ULONG Mtu;
IFTYPE Type;
TUNNEL_TYPE TunnelType;
NDIS_MEDIUM MediaType;
NDIS_PHYSICAL_MEDIUM PhysicalMediumType;
NET_IF_ACCESS_TYPE AccessType;
NET_IF_DIRECTION_TYPE DirectionType;
struct {
BOOLEAN HardwareInterface : 1;
BOOLEAN FilterInterface : 1;
BOOLEAN ConnectorPresent : 1;
BOOLEAN NotAuthenticated : 1;
BOOLEAN NotMediaConnected : 1;
BOOLEAN Paused : 1;
BOOLEAN LowPower : 1;
BOOLEAN EndPointInterface : 1;
} InterfaceAndOperStatusFlags;
IF_OPER_STATUS OperStatus;
NET_IF_ADMIN_STATUS AdminStatus;
NET_IF_MEDIA_CONNECT_STATE MediaConnectState;
NET_IF_NETWORK_GUID NetworkGuid;
NET_IF_CONNECTION_TYPE ConnectionType;
ULONG64 TransmitLinkSpeed;
ULONG64 ReceiveLinkSpeed;
ULONG64 InOctets;
ULONG64 InUcastPkts;
ULONG64 InNUcastPkts;
ULONG64 InDiscards;
ULONG64 InErrors;
ULONG64 InUnknownProtos;
ULONG64 InUcastOctets;
ULONG64 InMulticastOctets;
ULONG64 InBroadcastOctets;
ULONG64 OutOctets;
ULONG64 OutUcastPkts;
ULONG64 OutNUcastPkts;
ULONG64 OutDiscards;
ULONG64 OutErrors;
ULONG64 OutUcastOctets;
ULONG64 OutMulticastOctets;
ULONG64 OutBroadcastOctets;
ULONG64 OutQLen;
} MIB_IF_ROW2, *PMIB_IF_ROW2;
Члены
InterfaceLuid
Тип: NET_LUID
Локальный уникальный идентификатор (LUID) для сетевого интерфейса.
InterfaceIndex
Тип: NET_IFINDEX
Индекс, определяющий сетевой интерфейс. Это значение индекса может измениться, если сетевой адаптер отключен и включен, и его не следует считать постоянным.
InterfaceGuid
Тип: GUID
Guid для сетевого интерфейса.
Alias[IF_MAX_STRING_SIZE + 1]
Тип: WCHAR[IF_MAX_STRING_SIZE + 1]
Строка Юникода с завершением NULL, содержащая псевдоним сетевого интерфейса.
Description[IF_MAX_STRING_SIZE + 1]
Тип: WCHAR[IF_MAX_STRING_SIZE + 1]
Строка Юникода с завершением NULL, содержащая описание сетевого интерфейса.
PhysicalAddressLength
Тип: ULONG
Длина (в байтах) физического аппаратного адреса, указанного элементом PhysicalAddress .
PhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH]
Тип: UCHAR[IF_MAX_PHYS_ADDRESS_LENGTH]
Физический аппаратный адрес адаптера для этого сетевого интерфейса.
PermanentPhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH]
Тип: UCHAR[IF_MAX_PHYS_ADDRESS_LENGTH]
Постоянный физический аппаратный адрес адаптера для этого сетевого интерфейса.
Mtu
Тип: ULONG
Максимальный размер единицы передачи (MTU) (в байтах) для этого сетевого интерфейса.
Type
Тип: IFTYPE
Тип интерфейса, определенный центром имен, назначенных Через Интернет (IANA). Для получения дополнительной информации см. http://www.iana.org/assignments/ianaiftype-mib. Возможные значения для типа интерфейса перечислены в файле заголовка Ipifcons.h .
В приведенной ниже таблице перечислены общие значения для типа интерфейса, хотя возможны и многие другие значения.
TunnelType
Тип: TUNNEL_TYPE
Метод инкапсуляции, используемый туннелем, если элемент TypeIF_TYPE_TUNNEL. Тип туннеля определяется центром имен, назначенных Интернету (IANA). Для получения дополнительной информации см. http://www.iana.org/assignments/ianaiftype-mib. Этот член может быть одним из значений из типа перечисления TUNNEL_TYPE , определенного в файле заголовка Ifdef.h .
MediaType
Тип: NDIS_MEDIUM
Тип носителя NDIS для интерфейса. Этот член может быть одним из значений из типа перечисления NDIS_MEDIUM , определенного в файле заголовка Ntddndis.h .
PhysicalMediumType
Тип: NDIS_PHYSICAL_MEDIUM
Тип физической среды NDIS. Этот член может быть одним из значений из типа перечисления NDIS_PHYSICAL_MEDIUM, определенного в файле заголовка Ntddndis.h .
AccessType
Тип: NET_IF_ACCESS_TYPE
Тип доступа интерфейса. Этот элемент может быть одним из значений из типа перечисления NET_IF_ACCESS_TYPE , определенного в файле заголовка Ifdef.h .
DirectionType
Тип: NET_IF_DIRECTION_TYPE
Тип направления интерфейса. Этот элемент может быть одним из значений из типа перечисления NET_IF_DIRECTION_TYPE , определенного в файле заголовка Ifdef.h .
InterfaceAndOperStatusFlags
Набор флагов, предоставляющих сведения об интерфейсе. Эти флаги объединяются с побитовой операцией OR. Если ни один из флагов не применяется, для этого элемента устанавливается нулевое значение.
InterfaceAndOperStatusFlags.HardwareInterface
Тип: BOOLEAN Задайте значение , если сетевой интерфейс предназначен для оборудования.
InterfaceAndOperStatusFlags.FilterInterface
Тип: BOOLEAN Задайте значение , если сетевой интерфейс предназначен для модуля фильтра.
InterfaceAndOperStatusFlags.ConnectorPresent
Тип: BOOLEAN Задайте значение , если соединитель присутствует в сетевом интерфейсе. Это значение устанавливается при наличии физического сетевого адаптера.
InterfaceAndOperStatusFlags.NotAuthenticated
Тип: BOOLEAN Установите значение , если порт по умолчанию для сетевого интерфейса не прошел проверку подлинности. Если сетевой интерфейс не прошел проверку подлинности целевого объекта, он не находится в рабочем режиме. Хотя это относится как к проводным, так и к беспроводным сетевым подключениям, проверка подлинности чаще применяется для беспроводных сетевых подключений.
InterfaceAndOperStatusFlags.NotMediaConnected
Тип: BOOLEAN Установите значение , если сетевой интерфейс не находится в состоянии, подключенном к мультимедиа. Если сетевой кабель отключен для проводной сети, это будет установлено. Для беспроводной сети это значение устанавливается для сетевого адаптера, который не подключен к сети.
InterfaceAndOperStatusFlags.Paused
Тип: BOOLEAN Установите значение , если сетевой стек для сетевого интерфейса находится в состоянии приостановки или приостановки. Это не означает, что компьютер находится в состоянии гибернации.
InterfaceAndOperStatusFlags.LowPower
Тип: BOOLEAN Установите значение , если сетевой интерфейс находится в состоянии низкого энергопотребления.
InterfaceAndOperStatusFlags.EndPointInterface
Тип: BOOLEAN Установите значение , если сетевой интерфейс является конечным устройством, а не истинным сетевым интерфейсом, который подключается к сети. Это можно задать с помощью устройств, таких как смартфоны, которые используют сетевую инфраструктуру для связи с компьютером, но не обеспечивают подключение к внешней сети. Этот флаг обязательно установить для устройств этих типов.
OperStatus
Тип: IF_OPER_STATUS
Рабочее состояние интерфейса, определенное в RFC 2863 как IfOperStatus. Для получения дополнительной информации см. http://www.ietf.org/rfc/rfc2863.txt. Этот член может быть одним из значений из типа перечисления IF_OPER_STATUS , определенного в файле заголовка Ifdef.h .
AdminStatus
Тип: NET_IF_ADMIN_STATUS
Административное состояние интерфейса, определенное в RFC 2863. Для получения дополнительной информации см. http://www.ietf.org/rfc/rfc2863.txt. Этот член может быть одним из значений из типа перечисления NET_IF_ADMIN_STATUS , определенного в файле заголовка Ifdef.h .
MediaConnectState
Тип: NET_IF_MEDIA_CONNECT_STATE
Состояние подключения интерфейса. Этот член может быть одним из значений из типа перечисления NET_IF_MEDIA_CONNECT_STATE , определенного в файле заголовка Ifdef.h .
NetworkGuid
Тип: NET_IF_NETWORK_GUID
Guid, связанный с сетью, к которой принадлежит интерфейс.
ConnectionType
Тип: NET_IF_CONNECTION_TYPE
Тип подключения сетевого интерфейса NDIS. Этот член может быть одним из значений из типа перечисления NET_IF_CONNECTION_TYPE , определенного в файле заголовка Ifdef.h .
TransmitLinkSpeed
Тип: ULONG64
Скорость передачи канала передачи в битах в секунду.
ReceiveLinkSpeed
Тип: ULONG64
Скорость в битах в секунду канала получения.
InOctets
Тип: ULONG64
Количество октетов данных, полученных без ошибок через этот интерфейс. Это значение включает октеты в одноадресных, широковещательных и многоадресных пакетах.
InUcastPkts
Тип: ULONG64
Число одноадресных пакетов, полученных без ошибок через этот интерфейс.
InNUcastPkts
Тип: ULONG64
Число пакетов, не являющихся одноадресными, полученных без ошибок через этот интерфейс. Это значение включает широковещательные и многоадресные пакеты.
InDiscards
Тип: ULONG64
Количество входящих пакетов, которые были выбраны для отмены, даже если ошибки не обнаружены, чтобы предотвратить доставку пакетов по протоколу более высокого уровня.
InErrors
Тип: ULONG64
Количество входящих пакетов, которые были отменены из-за ошибок.
InUnknownProtos
Тип: ULONG64
Количество входящих пакетов, которые были отменены, так как протокол неизвестен.
InUcastOctets
Тип: ULONG64
Количество октетов данных, полученных без ошибок в одноадресных пакетах через этот интерфейс.
InMulticastOctets
Тип: ULONG64
Количество октетов данных, полученных без ошибок в многоадресных пакетах через этот интерфейс.
InBroadcastOctets
Тип: ULONG64
Количество октетов данных, полученных без ошибок в широковещательных пакетах через этот интерфейс.
OutOctets
Тип: ULONG64
Количество октетов данных, передаваемых без ошибок через этот интерфейс. Это значение включает октеты в одноадресных, широковещательных и многоадресных пакетах.
OutUcastPkts
Тип: ULONG64
Количество одноадресных пакетов, передаваемых без ошибок через этот интерфейс.
OutNUcastPkts
Тип: ULONG64
Количество пакетов, не являющихся одноадресными, передаваемых без ошибок через этот интерфейс. Это значение включает широковещательные и многоадресные пакеты.
OutDiscards
Тип: ULONG64
Количество исходящих пакетов, которые были отменены, даже если в них не было ошибок.
OutErrors
Тип: ULONG64
Количество исходящих пакетов, которые были отменены из-за ошибок.
OutUcastOctets
Тип: ULONG64
Количество октетов данных, передаваемых без ошибок в одноадресных пакетах через этот интерфейс.
OutMulticastOctets
Тип: ULONG64
Количество октетов данных, передаваемых без ошибок в многоадресных пакетах через этот интерфейс.
OutBroadcastOctets
Тип: ULONG64
Количество октетов данных, передаваемых без ошибок в широковещательных пакетах через этот интерфейс.
OutQLen
Тип: ULONG64
Длина очереди передачи. В настоящее время это поле не используется.
Комментарии
Структура MIB_IF_ROW2 определяется в Windows Vista и более поздних версиях.
Значения поля Type определяются в файле заголовка Ipifcons.h . В настоящее время поддерживаются только возможные значения, перечисленные в описании элемента Type .
Обратите внимание, что файл заголовка Netioapi.h автоматически включается в файл заголовка Iphlpapi.h . Файл заголовка Netioapi.h никогда не следует использовать напрямую.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Верхняя часть | netioapi.h (включая Iphlpapi.h) |