Note
Access to this page requires authorization. You can try signing in or .
Access to this page requires authorization. You can try .
MIB_IF_ROW2 structure (netioapi.h)
The MIB_IF_ROW2 structure stores information about a particular interface.
Syntax
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;
Members
InterfaceLuid
Type: NET_LUID
The locally unique identifier (LUID) for the network interface.
InterfaceIndex
Type: NET_IFINDEX
The index that identifies the network interface. This index value may change when a network adapter is disabled and then enabled, and should not be considered persistent.
InterfaceGuid
Type: GUID
The GUID for the network interface.
Alias[IF_MAX_STRING_SIZE + 1]
Type: WCHAR[IF_MAX_STRING_SIZE + 1]
A NULL-terminated Unicode string that contains the alias name of the network interface.
Description[IF_MAX_STRING_SIZE + 1]
Type: WCHAR[IF_MAX_STRING_SIZE + 1]
A NULL-terminated Unicode string that contains a description of the network interface.
PhysicalAddressLength
Type: ULONG
The length, in bytes, of the physical hardware address specified by the PhysicalAddress member.
PhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH]
Type: UCHAR[IF_MAX_PHYS_ADDRESS_LENGTH]
The physical hardware address of the adapter for this network interface.
PermanentPhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH]
Type: UCHAR[IF_MAX_PHYS_ADDRESS_LENGTH]
The permanent physical hardware address of the adapter for this network interface.
Mtu
Type: ULONG
The maximum transmission unit (MTU) size, in bytes, for this network interface.
Type
Type: IFTYPE
The interface type as defined by the Internet Assigned Names Authority (IANA). For more information, see http://www.iana.org/assignments/ianaiftype-mib. Possible values for the interface type are listed in the Ipifcons.h header file.
The table below lists common values for the interface type although many other values are possible.
| Value | Meaning |
|---|---|
|
Some other type of network interface. |
|
An Ethernet network interface. |
|
A token ring network interface. |
|
A Fiber Distributed Data Interface (FDDI) network interface. |
|
A PPP network interface. |
|
A software loopback network interface. |
|
An ATM network interface. |
|
An IEEE 802.11 wireless network interface. |
|
A tunnel type encapsulation network interface. |
|
An IEEE 1394 (Firewire) high performance serial bus network interface. |
|
A mobile broadband interface for WiMax devices.
Note This interface type is supported on Windows 7, Windows Server 2008 R2, and later.
|
|
A mobile broadband interface for GSM-based devices.
Note This interface type is supported on Windows 7, Windows Server 2008 R2, and later.
|
|
A mobile broadband interface for CDMA-based devices.
Note This interface type is supported on Windows 7, Windows Server 2008 R2, and later.
|
TunnelType
Type: TUNNEL_TYPE
The encapsulation method used by a tunnel if the Type member is IF_TYPE_TUNNEL. The tunnel type is defined by the Internet Assigned Names Authority (IANA). For more information, see http://www.iana.org/assignments/ianaiftype-mib. This member can be one of the values from the TUNNEL_TYPE enumeration type defined in the Ifdef.h header file.
| Value | Meaning |
|---|---|
|
Not a tunnel. |
|
None of the following tunnel types. |
|
A packet is encapsulated directly within a normal IP header, with no intermediate header, and unicast to the remote tunnel endpoint. |
|
An IPv6 packet is encapsulated directly within an IPv4 header, with no intermediate header, and unicast to the destination determined by the 6to4 protocol. |
|
An IPv6 packet is encapsulated directly within an IPv4 header, with no intermediate header, and unicast to the destination determined by the ISATAP protocol. |
|
Teredo encapsulation. |
MediaType
Type: NDIS_MEDIUM
The NDIS media type for the interface. This member can be one of the values from the NDIS_MEDIUM enumeration type defined in the Ntddndis.h header file.
| Value | Meaning |
|---|---|
|
An Ethernet (802.3) network. |
|
A Token Ring (802.5) network. |
|
A Fiber Distributed Data Interface (FDDI) network. |
|
A wide area network (WAN). This type covers various forms of point-to-point and WAN NICs, as well as variant address/header formats that must be negotiated between the protocol driver and the underlying driver after the binding is established. |
|
A LocalTalk network. |
|
An Ethernet network for which the drivers use the DIX Ethernet header format. |
|
An ARCNET network. |
|
An ARCNET (878.2) network. |
|
An ATM network. Connection-oriented client protocol drivers can bind themselves to an underlying miniport driver that returns this value. Otherwise, legacy protocol drivers bind themselves to the system-supplied LanE intermediate driver, which reports its medium type as either NdisMedium802_3 or NdisMedium802_5, depending on how the LanE driver is configured by the network administrator. |
|
A wireless network. NDIS 5.X miniport drivers that support wireless LAN (WLAN) or wireless WAN (WWAN) packets do not use this NDIS media type, but declare their media type as NdisMedium802_3 and emulate Ethernet to higher-level NDIS drivers.
Note This media type is supported and can be used for Mobile Broadband only on Windows 7, Windows Server 2008 R2, and later.
|
|
An infrared (IrDA) network. |
|
A broadcast PC network. |
|
A wide area network in a connection-oriented environment. |
|
An IEEE 1394 (fire wire) network. |
|
An InfiniBand network. |
|
A tunnel network.
Note This media type is supported on Windows Vista, Windows Server 2008, and later.
|
|
A native IEEE 802.11 network.
Note This media type is supported on Windows Vista, Windows Server 2008, and later.
|
|
An NDIS loopback network.
Note This media type is supported on Windows Vista, Windows Server 2008, and later.
|
|
An WiMax network.
Note This media type is supported on Windows 7, Windows Server 2008 R2, and later.
|
PhysicalMediumType
Type: NDIS_PHYSICAL_MEDIUM
The NDIS physical medium type. This member can be one of the values from the NDIS_PHYSICAL_MEDIUM enumeration type defined in the Ntddndis.h header file.
| Value | Meaning |
|---|---|
|
The physical medium is none of the below values. For example, a one-way satellite feed is an unspecified physical medium. |
|
Packets are transferred over a wireless LAN network through a miniport driver that conforms to the 802.11 interface. |
|
Packets are transferred over a DOCSIS-based cable network. |
|
Packets are transferred over standard phone lines. This includes HomePNA media, for example. |
|
Packets are transferred over wiring that is connected to a power distribution system. |
|
Packets are transferred over a Digital Subscriber Line (DSL) network. This includes ADSL, UADSL (G.Lite), and SDSL, for example. |
|
Packets are transferred over a Fibre Channel interconnect. |
|
Packets are transferred over an IEEE 1394 bus. |
|
Packets are transferred over a Wireless WAN link. This includes mobile broadband devices that support CDPD, CDMA, GSM, and GPRS, for example. |
|
Packets are transferred over a wireless LAN network through a miniport driver that conforms to the Native 802.11 interface.
Note The Native 802.11 interface is supported in NDIS 6.0 and later versions.
|
|
Packets are transferred over a Bluetooth network. Bluetooth is a short-range wireless technology that uses the 2.4 GHz spectrum. |
|
Packets are transferred over an Infiniband interconnect. |
|
Packets are transferred over a WiMax network. |
|
Packets are transferred over an ultra wide band network. |
|
Packets are transferred over an Ethernet (802.3) network. |
|
Packets are transferred over a Token Ring (802.5) network. |
|
Packets are transferred over an infrared (IrDA) network. |
|
Packets are transferred over a wired WAN network. |
|
Packets are transferred over a wide area network in a connection-oriented environment. |
|
Packets are transferred over a network that is not described by other possible values. |
AccessType
Type: NET_IF_ACCESS_TYPE
The interface access type. This member can be one of the values from the NET_IF_ACCESS_TYPE enumeration type defined in the Ifdef.h header file.
| Value | Meaning |
|---|---|
|
Loopback access type. This access type indicates that the interface loops back transmit data as receive data. |
|
The LAN access type which includes Ethernet. This access type indicates that the interface provides native support for multicast or broadcast services.
Note Mobile broadband interfaces with a MediaType of NdisMedium802_3 use this access type.
|
|
Point-to-point access that supports CoNDIS/WAN, except for non-broadcast multi-access (NBMA) interfaces.
Note Mobile broadband interfaces with a MediaType of NdisMediumWirelessWan use this access type.
|
|
Point-to-multipoint access that supports non-broadcast multi-access (NBMA) media, including the "RAS Internal" interface, and native (non-LANE) ATM. |
|
The maximum possible value for the NET_IF_ACCESS_TYPE enumeration type. This is not a legal value for AccessType member. |
DirectionType
Type: NET_IF_DIRECTION_TYPE
The interface direction type. This member can be one of the values from the NET_IF_DIRECTION_TYPE enumeration type defined in the Ifdef.h header file.
| Value | Meaning |
|---|---|
|
The send and receive direction type. This direction type indicates that the NDIS network interface can send and receive data. |
|
The send only direction type. This direction type indicates that the NDIS network interface can only send data. |
|
The receive only direction type. This direction type indicates that the NDIS network interface can only receive data. |
|
The maximum possible value for the NET_IF_DIRECTION_TYPE enumeration type. This is not a legal value for DirectionType member. |
InterfaceAndOperStatusFlags
A set of flags that provide information about the interface. These flags are combined with a bitwise OR operation. If none of the flags applies, then this member is set to zero.
InterfaceAndOperStatusFlags.HardwareInterface
Type: BOOLEAN
Set if the network interface is for hardware.
InterfaceAndOperStatusFlags.FilterInterface
Type: BOOLEAN
Set if the network interface is for a filter module.
InterfaceAndOperStatusFlags.ConnectorPresent
Type: BOOLEAN
Set if a connector is present on the network interface. This value is set if there is a physical network adapter.
InterfaceAndOperStatusFlags.NotAuthenticated
Type: BOOLEAN
Set if the default port for the network interface is not authenticated. If a network interface is not authenticated by the target, then the network interface is not in an operational mode. Although this applies to both wired and wireless network connections, authentication is more common for wireless network connections.
InterfaceAndOperStatusFlags.NotMediaConnected
Type: BOOLEAN
Set if the network interface is not in a media-connected state. If a network cable is unplugged for a wired network, this would be set. For a wireless network, this is set for the network adapter that is not connected to a network.
InterfaceAndOperStatusFlags.Paused
Type: BOOLEAN
Set if the network stack for the network interface is in the paused or pausing state. This does not mean that the computer is in a hibernated state.
InterfaceAndOperStatusFlags.LowPower
Type: BOOLEAN
Set if the network interface is in a low power state.
InterfaceAndOperStatusFlags.EndPointInterface
Type: BOOLEAN
Set if the network interface is an endpoint device and not a true network interface that connects to a network. This can be set by devices such as smart phones which use networking infrastructure to communicate to the PC but do not provide connectivity to an external network. It is mandatory for these types of devices to set this flag.
OperStatus
Type: IF_OPER_STATUS
The operational status for the interface as defined in RFC 2863 as IfOperStatus. For more information, see http://www.ietf.org/rfc/rfc2863.txt. This member can be one of the values from the IF_OPER_STATUS enumeration type defined in the Ifdef.h header file.
| Value | Meaning |
|---|---|
|
The interface is up and able to pass packets. |
|
The interface is down and not in a condition to pass packets. The IfOperStatusDown state has two meanings, depending on the
value of AdminStatus member.
If AdminStatus is not set to NET_IF_ADMIN_STATUS_DOWN and ifOperStatus is set to IfOperStatusDown then a fault condition is presumed to exist on the interface. If AdminStatus is set to IfOperStatusDown, then ifOperStatus will normally also be set to IfOperStatusDown or IfOperStatusNotPresent and there is not necessarily a fault condition on the interface. |
|
The interface is in testing mode. |
|
The operational status of the interface is unknown. |
|
The interface is not actually in a condition to pass packets (it is not up), but is in a pending state, waiting for some external event. For on-demand interfaces, this new state identifies the situation where the interface is waiting for events to place it in the IfOperStatusUp state. |
|
A refinement on the IfOperStatusDown state which indicates that the relevant interface is down specifically because some component (typically, a hardware device) is not present in the managed system. |
|
A refinement on the IfOperStatusDown state. This new state indicates that this interface runs on top of one or more other interfaces and that this interface is down specifically because one or more of these lower-layer interfaces are down. |
AdminStatus
Type: NET_IF_ADMIN_STATUS
The administrative status for the interface as defined in RFC 2863. For more information, see http://www.ietf.org/rfc/rfc2863.txt. This member can be one of the values from the NET_IF_ADMIN_STATUS enumeration type defined in the Ifdef.h header file.
| Value | Meaning |
|---|---|
|
The interface is initialized and enabled. But the interface is not necessarily ready to transmit and receive network data because that depends on the operational status of the interface. |
|
The interface is down, and this interface cannot be used to transmit or receive network data. |
|
The interface is in a test mode, and no network data can be transmitted or received. |
MediaConnectState
Type: NET_IF_MEDIA_CONNECT_STATE
The connection state of the interface. This member can be one of the values from the NET_IF_MEDIA_CONNECT_STATE enumeration type defined in the Ifdef.h header file.
| Value | Meaning |
|---|---|
|
The connection state of the interface is unknown. |
|
The interface is connected to the network. |
|
The interface is not connected to the network. |
NetworkGuid
Type: NET_IF_NETWORK_GUID
The GUID that is associated with the network that the interface belongs to.
ConnectionType
Type: NET_IF_CONNECTION_TYPE
The NDIS network interface connection type. This member can be one of the values from the NET_IF_CONNECTION_TYPE enumeration type defined in the Ifdef.h header file.
| Value | Meaning |
|---|---|
|
The connection type is dedicated. The connection comes up automatically when media sense is TRUE. For example, an Ethernet connection is dedicated. |
|
The connection type is passive. The remote end must bring up the connection to the local station. For example, a RAS interface is passive. |
|
The connection type is demand-dial. A connection of this type comes up in response to a local action (sending a packet, for example). |
|
The maximum possible value for the NET_IF_CONNECTION_TYPE enumeration type. This is not a legal value for ConnectionType member. |
TransmitLinkSpeed
Type: ULONG64
The speed in bits per second of the transmit link.
ReceiveLinkSpeed
Type: ULONG64
The speed in bits per second of the receive link.
InOctets
Type: ULONG64
The number of octets of data received without errors through this interface. This value includes octets in unicast, broadcast, and multicast packets.
InUcastPkts
Type: ULONG64
The number of unicast packets received without errors through this interface.
InNUcastPkts
Type: ULONG64
The number of non-unicast packets received without errors through this interface. This value includes broadcast and multicast packets.
InDiscards
Type: ULONG64
The number of inbound packets which were chosen to be discarded even though no errors were detected to prevent the packets from being deliverable to a higher-layer protocol.
InErrors
Type: ULONG64
The number of incoming packets that were discarded because of errors.
InUnknownProtos
Type: ULONG64
The number of incoming packets that were discarded because the protocol was unknown.
InUcastOctets
Type: ULONG64
The number of octets of data received without errors in unicast packets through this interface.
InMulticastOctets
Type: ULONG64
The number of octets of data received without errors in multicast packets through this interface.
InBroadcastOctets
Type: ULONG64
The number of octets of data received without errors in broadcast packets through this interface.
OutOctets
Type: ULONG64
The number of octets of data transmitted without errors through this interface. This value includes octets in unicast, broadcast, and multicast packets.
OutUcastPkts
Type: ULONG64
The number of unicast packets transmitted without errors through this interface.
OutNUcastPkts
Type: ULONG64
The number of non-unicast packets transmitted without errors through this interface. This value includes broadcast and multicast packets.
OutDiscards
Type: ULONG64
The number of outgoing packets that were discarded even though they did not have errors.
OutErrors
Type: ULONG64
The number of outgoing packets that were discarded because of errors.
OutUcastOctets
Type: ULONG64
The number of octets of data transmitted without errors in unicast packets through this interface.
OutMulticastOctets
Type: ULONG64
The number of octets of data transmitted without errors in multicast packets through this interface.
OutBroadcastOctets
Type: ULONG64
The number of octets of data transmitted without errors in broadcast packets through this interface.
OutQLen
Type: ULONG64
The transmit queue length. This field is not currently used.
Remarks
The MIB_IF_ROW2 structure is defined on Windows Vista and later.
The values for the Type field are defined in the Ipifcons.h header file. Only the possible values listed in the description of the Type member are currently supported.
Note that the Netioapi.h header file is automatically included in the Iphlpapi.h header file. The Netioapi.h header file should never be used directly.
Requirements
| Requirement | Value |
|---|---|
| Minimum supported client | Windows Vista [desktop apps only] |
| Minimum supported server | Windows Server 2008 [desktop apps only] |
| Header | netioapi.h (include Iphlpapi.h) |
See also
Feedback
Was this page helpful?
