共用方式為


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 終止的 Unicode 字串,其中包含網路介面的別名名稱。

Description[IF_MAX_STRING_SIZE + 1]

類型: WCHAR[IF_MAX_STRING_SIZE + 1]

NULL 終止的 Unicode 字串,其中包含網路介面的描述。

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 頭檔中。

下表列出介面類型的一般值,但可能有許多其他值。

意義
IF_TYPE_OTHER
1
一些其他類型的網路介面。
IF_TYPE_ETHERNET_CSMACD
6
乙太網路網路介面。
IF_TYPE_ISO88025_TOKENRING
9
令牌通道網路介面。
IF_TYPE_FDDI
15
光纖分散式數據介面 (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 和更新版本支援此介面類型。
 

TunnelType

類型: TUNNEL_TYPE

如果 Type 成員 IF_TYPE_TUNNEL,通道所使用的封裝方法。 通道類型是由因特網指派名稱授權單位 (IANA) 所定義。 如需詳細資訊,請參閱http://www.iana.org/assignments/ianaiftype-mib。 這個成員可以是 Ifdef.h 頭檔中所定義TUNNEL_TYPE列舉類型的其中一個值。

意義
TUNNEL_TYPE_NONE
0
不是通道。
TUNNEL_TYPE_OTHER
1
下列通道類型皆無。
TUNNEL_TYPE_DIRECT
2
封包會直接封裝在一般IP標頭內,沒有中繼標頭,而且不會單播至遠端通道端點。
TUNNEL_TYPE_6TO4
11
IPv6 封包會直接封裝在 IPv4 標頭內,沒有中繼標頭,而且會單播至 6to4 通訊協定所決定的目的地。
TUNNEL_TYPE_ISATAP
13
IPv6 封包會直接封裝在 IPv4 標頭內,沒有中繼標頭,而且會單播至 ISATAP 通訊協定所決定的目的地。
TUNNEL_TYPE_TEREDO
14
Teredo 封裝。

MediaType

類型: NDIS_MEDIUM

介面的 NDIS 媒體類型。 這個成員可以是 Ntddndis.h 頭檔中所定義NDIS_MEDIUM列舉類型的其中一個值。

意義
NdisMedium802_3
0
乙太網路 (802.3) 網路。
NdisMedium802_5
1
令牌通道 (802.5) 網路。
NdisMediumFddi
2
光纖分散式數據介面 (FDDI) 網路。
NdisMediumWan
3
廣域網 (WAN) 。 此類型涵蓋各種形式的點對點和 WAN NIC,以及必須在建立系結之後,通訊協定驅動程式與基礎驅動程式之間交涉的變體位址/標頭格式。
NdisMediumLocalTalk
4
LocalTalk 網路。
NdisMediumDix
5
驅動程式使用 DIX 乙太網路標頭格式的乙太網路。
NdisMediumArcnetRaw
6
ARCNET 網路。
NdisMediumArcnet878_2
7
ARCNET (878.2) 網路。
NdisMediumAtm
8
ATM 網路。 線上導向客戶端通訊協定驅動程式可以自行系結至傳回此值的基礎迷你埠驅動程式。 否則,舊版通訊協定驅動程式會自行系結至系統提供的 LanE 中繼驅動程式,這會根據網路管理員如何設定 LanE 驅動程式,將其中型類型報告為NdisMedium802_3或NdisMedium802_5。
NdisMediumWirelessWan
9
無線網路。 支援無線 LAN (WLAN) 或無線 WAN (WWAN) 封包的 NDIS 5.X 迷你埠驅動程式不會使用此 NDIS 媒體類型,而是將其媒體類型宣告為NdisMedium802_3,並將乙太網路模擬至較高層級的 NDIS 驅動程式。
注意 支援此媒體類型,且僅適用於 Windows 7、Windows Server 2008 R2 和更新版本的行動寬頻。
 
NdisMediumIrda
10
irDA) 網路的基礎結構 (。
NdisMediumBpc
11
廣播電腦網路。
NdisMediumCoWan
12
線上導向環境中的廣域網。
NdisMedium1394
13
IEEE 1394 (fire wire) 網路。
NdisMediumInfiniBand
14
InfiniBand 網路。
NdisMediumTunnel
15
通道網路。
注意 Windows Vista、Windows Server 2008 及更新版本支援此媒體類型。
 
NdisMediumNative802_11
16
原生 IEEE 802.11 網路。
注意 Windows Vista、Windows Server 2008 及更新版本支援此媒體類型。
 
NdisMediumLoopback
17
NDIS 回送網路。
注意 Windows Vista、Windows Server 2008 及更新版本支援此媒體類型。
 
NdisMediumWiMax
18
WiMax 網路。
注意 Windows 7、Windows Server 2008 R2 和更新版本支援此媒體類型。
 

PhysicalMediumType

類型: NDIS_PHYSICAL_MEDIUM

NDIS 實體中型類型。 這個成員可以是 Ntddndis.h 頭檔中所定義NDIS_PHYSICAL_MEDIUM列舉類型的其中一個值。

意義
NdisPhysicalMediumUnspecified
0
實體媒體不是下列值。 例如,單向衛星摘要是未指定的實體媒體。
NdisPhysicalMediumWirelessLan
1
封包會透過符合 802.11 介面的迷你埠驅動程式,透過無線 LAN 網路傳輸。
NdisPhysicalMediumCableModem
2
封包會透過 DOCSIS 型纜線網路傳輸。
NdisPhysicalMediumPhoneLine
3
封包會透過標準電話線路傳輸。 例如,這包括 HomePNA 媒體。
NdisPhysicalMediumPowerLine
4
封包會透過連線到電源分配系統的線路傳輸。
NdisPhysicalMediumDSL
5
封包會透過數位訂閱者行 (DSL) 網路傳輸。 例如,這包括 ADSL、UADSL (G.Lite) 和 SDSL。
NdisPhysicalMediumFibreChannel
6
封包會透過光纖通道互連傳輸。
NdisPhysicalMedium1394
7
封包會透過 IEEE 1394 匯流傳輸。
NdisPhysicalMediumWirelessWan
8
封包會透過無線 WAN 連結傳輸。 這包括支援 CDPD、CDMA、GSM 和 GPRS 的行動寬頻裝置,例如。
NdisPhysicalMediumNative802_11
9
封包會透過符合 Native 802.11 介面的迷你埠驅動程式,透過無線網路傳輸。
注意 NDIS 6.0 和更新版本支援 Native 802.11 介面。
 
NdisPhysicalMediumBluetooth
10
封包會透過藍牙網路傳輸。 藍牙是使用 2.4 GHz 頻譜的短範圍無線技術。
NdisPhysicalMediumInfiniband
11
封包會透過 Infiniband 互連傳輸。
NdisPhysicalMediumWiMax
12
封包會透過WiMax網路傳輸。
NdisPhysicalMediumUWB
13
封包會透過超寬頻網路傳輸。
NdisPhysicalMedium802_3
14
封包會透過乙太網路 (802.3) 網路傳輸。
NdisPhysicalMedium802_5
15
封包會透過令牌通道 (802.5) 網路傳輸。
NdisPhysicalMediumIrda
16
封包會透過基礎結構 (IrDA) 網路傳輸。
NdisPhysicalMediumWiredWAN
17
封包會透過有線 WAN 網路傳輸。
NdisPhysicalMediumWiredCoWan
18
封包會透過連線導向環境中的廣域網傳輸。
NdisPhysicalMediumOther
19
封包會透過其他可能值未描述的網路傳輸。

AccessType

類型: NET_IF_ACCESS_TYPE

介面存取類型。 這個成員可以是 Ifdef.h 頭檔中所定義之NET_IF_ACCESS_TYPE列舉類型的其中一個值。

意義
NET_IF_ACCESS_LOOPBACK
1
回送存取類型。 此存取類型表示介面會以接收數據的形式回送數據。
NET_IF_ACCESS_BROADCAST
2
包含乙太網路的 LAN 存取類型。 此存取類型表示介面提供多播或廣播服務的原生支援。
注意 具有 mediaType 的行動寬頻介面 NdisMedium802_3 使用此存取類型。
 
NET_IF_ACCESS_POINT_TO_POINT
3
支援 CoNDIS/WAN 的點對點存取,但非廣播多重存取 (NBMA) 介面除外。
注意具有 NdisMediumWirelessWanMediaType 的行動寬頻介面會使用此存取類型。
 
NET_IF_ACCESS_POINT_TO_MULTI_POINT
4
支援非廣播多重存取的點對多點存取 (NBMA) 媒體,包括“RAS 內部” 介面,以及原生 (非 LANE) ATM。
NET_IF_ACCESS_MAXIMUM
5
NET_IF_ACCESS_TYPE列舉類型的最大可能值。 這不是 AccessType 成員的法律值。

DirectionType

類型: NET_IF_DIRECTION_TYPE

介面方向類型。 這個成員可以是 Ifdef.h 頭檔中所定義之NET_IF_DIRECTION_TYPE列舉類型的其中一個值。

意義
NET_IF_DIRECTION_SENDRECEIVE
0
傳送和接收方向類型。 這個方向類型表示 NDIS 網路介面可以傳送和接收數據。
NET_IF_DIRECTION_SENDONLY
1
僅傳送方向類型。 這個方向類型表示 NDIS 網路介面只能傳送數據。
NET_IF_DIRECTION_RECEIVEONLY
2
只接收方向類型。 這個方向類型表示 NDIS 網路介面只能接收數據。
NET_IF_DIRECTION_MAXIMUM
3
NET_IF_DIRECTION_TYPE列舉型別的可能值上限。 這不是 DirectionType 成員的法律值。

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。 這個成員可以是 Ifdef.h 頭檔中所定義IF_OPER_STATUS列舉類型的其中一個值。

意義
IfOperStatusUp
1
介面已啟動且能夠傳遞封包。
IfOperStatusDown
2
介面已關閉,而不是在傳遞封包的條件中。 IfOperStatusDown 狀態有兩個意義,視 AdminStatus 成員的值而定。

如果 AdminStatus 未設定為 NET_IF_ADMIN_STATUS_DOWN且 ifOperStatus 設定為 IfOperStatusDown ,則會假設介面上有錯誤狀況。

如果 AdminStatus 設定為 IfOperStatusDown則 ifOperStatus 通常也會設定為 IfOperStatusDownIfOperStatusNotPresent ,而且介面上不一定有錯誤狀況。

IfOperStatusTesting
3
介面處於測試模式。
IfOperStatusUnknown
4
介面的操作狀態未知。
IfOperStatusDormant
5
介面實際上不是在條件中傳遞封包, (它不是) ,而是處於擱置狀態,正在等候某些外部事件。 針對隨選介面,這個新狀態會識別介面正在等候事件將它放在 IfOperStatusUp 狀態的情況。
IfOperStatusNotPresent
6
IfOperStatusDown 狀態的精簡,指出相關的介面已關閉,因為某些元件通常 (,所以受控系統中沒有硬體裝置) 。
IfOperStatusLowerLayerDown
7
IfOperStatusDown 狀態的精簡調整。 這個新狀態表示這個介面是在一或多個其他介面上執行,而且此介面特別關閉,因為其中一或多個較低層介面已關閉。

AdminStatus

類型: NET_IF_ADMIN_STATUS

RFC 2863 中所定義的介面系統管理狀態。 如需詳細資訊,請參閱http://www.ietf.org/rfc/rfc2863.txt。 這個成員可以是 Ifdef.h 頭檔中所定義NET_IF_ADMIN_STATUS列舉類型的其中一個值。

意義
NET_IF_ADMIN_STATUS_UP
1
介面已初始化並啟用。 但介面不一定準備好傳輸和接收網路數據,因為這取決於介面的操作狀態。
NET_IF_ADMIN_STATUS_DOWN
2
介面已關閉,而且此介面無法用來傳輸或接收網路數據。
NET_IF_ADMIN_STATUS_TESTING
3
介面處於測試模式,而且無法傳輸或接收任何網路數據。

MediaConnectState

類型: NET_IF_MEDIA_CONNECT_STATE

介面的連接狀態。 這個成員可以是 Ifdef.h 頭檔中所定義NET_IF_MEDIA_CONNECT_STATE列舉類型的其中一個值。

意義
MediaConnectStateUnknown
0
介面的連接狀態未知。
MediaConnectStateConnected
1
介面會連線到網路。
MediaConnectStateDisconnected
2
介面未連線到網路。

NetworkGuid

類型: NET_IF_NETWORK_GUID

與介面所屬網路相關聯的 GUID。

ConnectionType

類型: NET_IF_CONNECTION_TYPE

NDIS 網路介面連線類型。 這個成員可以是 Ifdef.h 頭檔中所定義NET_IF_CONNECTION_TYPE列舉類型的其中一個值。

意義
NET_IF_CONNECTION_DEDICATED
1
線上類型是專用的。 當媒體感知為TRUE時,就會自動啟動連線。 例如,乙太網路連線是專用的。
NET_IF_CONNECTION_PASSIVE
2
線上類型為被動。 遠端端必須啟動與本機月台的連線。 例如,RAS 介面是被動的。
NET_IF_CONNECTION_DEMAND
3
聯機類型為 demand-dial。 此類型的聯機會回應傳送封包 (本機動作,例如) 。
NET_IF_CONNECTION_MAXIMUM
4
NET_IF_CONNECTION_TYPE列舉型別的最大可能值。 這不是 ConnectionType 成員的法律值。

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 和更新版本上定義。

[類型] 欄位的值定義於 Ipifcons.h 頭檔中。 目前僅支持 類型 成員描述中所列的可能值。

請注意, Netioapi.h 頭文件會自動包含在 Iphlpapi.h 頭檔中。 不應該直接使用 Netioapi.h 頭檔。

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
標頭 netioapi.h (包含 Iphlpapi.h)

另請參閱

GetAdaptersAddresses

GetIfEntry2

GetIfTable2

IP_ADAPTER_ADDRESSES

MIB_IF_TABLE2

NET_LUID