共用方式為


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;

Members

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

下表列出了介面類型的常見值,但還有許多其他數值可能。

價值觀 Meaning
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

隧道所使用的封裝方法, 若類型成員IF_TYPE_TUNNEL。 隧道類型由網網路名稱分配機構(IANA)定義。 如需詳細資訊,請參閱http://www.iana.org/assignments/ianaiftype-mib。 此成員可為 Ifdef.h 標頭檔案中定義的TUNNEL_TYPE枚舉型態中的值之一。

價值觀 Meaning
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列舉類型中的值之一。

價值觀 Meaning
NdisMedium802_3
0
一個乙太網路(802.3)網路。
NdisMedium802_5
1
一個令牌環(802.5)網路。
NdisMediumFddi
2
光纖分散式資料介面(FDDI)網路。
恩迪斯中等世界
3
廣域網路(WAN)。 此類型涵蓋各種點對點與廣域網網卡(WAN),以及綁定建立後必須在協定驅動程式與底層驅動程式協商的變體位址/標頭格式。
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
無線網路。 支援無線區域網路(WLAN)或無線廣域網(WWAN)封包的 NDIS 5.X 迷你埠驅動程式不使用此 NDIS 媒體類型,而是宣告其媒體類型為 NdisMedium802_3,並模擬乙太網路至更高階的 NDIS 驅動程式。
便條 此媒體類型僅支援並可用於 Windows 7、Windows Server 2008 R2 及更新版本的行動寬頻。
 
恩迪斯米特里達
10
一個紅外線(IrDA)網路。
NdisMediumBPC
11
一個廣播型個人電腦網路。
NdisMediumCoWan
12
一個位於連線導向環境中的廣域網路。
NdisMedium1394
13
一個IEEE 1394(火線)網路。
NdisMediumInfiniBand
14
一個InfiniBand網路。
NdisMedium隧道
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枚舉類型中的值之一。

價值觀 Meaning
NdisPhysicalMedium 未指定
0
物理介質並非以下任何一個值。 例如,單向衛星訊號是一種未指定的實體媒介。
NdisPhysicalMediumWirelessLan
1
封包透過符合 802.11 介面的迷你埠驅動程式,透過無線區域網路傳輸。
NdisPhysicalMediumCableModem
2
封包透過基於 DOCSIS 的有線網路傳輸。
Ndis實體中型電話線
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 介面的迷你埠驅動程式,透過無線區域網路傳輸。
便條 原生 802.11 介面支援於 NDIS 6.0 及更新版本。
 
NdisPhysicalMediumBluetooth
10
封包是透過藍牙網路傳輸的。 藍牙是一種短距離無線技術,使用2.4 GHz頻譜。
Ndis物理媒介無限
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枚舉型態中的值之一。

價值觀 Meaning
NET_IF_ACCESS_LOOPBACK
1
迴圈存取類型。 此存取類型表示介面會迴圈傳送資料作為接收資料。
NET_IF_ACCESS_BROADCAST
2
LAN存取類型包含乙太網路。 此存取類型表示介面原生支援多播或廣播服務。
便條 行動寬頻介面與 MediaTypeNdisMedium802_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列舉類型中的值之一。

價值觀 Meaning
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

類型: 布林值

如果網路介面是硬體介面,則設定為。

InterfaceAndOperStatusFlags.FilterInterface

類型: 布林值

如果網路介面是針對濾波器模組,則設定為。

InterfaceAndOperStatusFlags.ConnectorPresent

類型: 布林值

設定網路介面上是否存在連接器。 此值若有實體網路介面卡則設定。

InterfaceAndOperStatusFlags.NotAuthenticated

類型: 布林值

如果網路介面的預設埠未被認證,則設定為此。 若網路介面未被目標認證,則該網路介面未處於運作模式。 雖然這適用於有線和無線網路連線,但認證在無線網路連線中更為常見。

InterfaceAndOperStatusFlags.NotMediaConnected

類型: 布林值

若網路介面未處於媒體連接狀態,則設定為此。 如果有線網路線被拔掉,這個設定就會被設定。 對於無線網路,這個設定是針對未連接到網路的網路卡。

InterfaceAndOperStatusFlags.Paused

類型: 布林值

設定為網路介面的網路堆疊處於暫停或暫停狀態。 這並不代表電腦處於休眠狀態。

InterfaceAndOperStatusFlags.LowPower

類型: 布林值

如果網路介面處於低功耗狀態,則設定為此。

InterfaceAndOperStatusFlags.EndPointInterface

類型: 布林值

設定為若網路介面是端點裝置,而非真正連接網路的網路介面。 這可由智慧型手機等利用網路基礎設施與電腦通訊,但不提供外部網路連接的裝置設定。 這類裝置必須設定此旗標。

OperStatus

類型: IF_OPER_STATUS

介面的運作狀態依據 RFC 2863 定義為 IfOperStatus。 如需詳細資訊,請參閱http://www.ietf.org/rfc/rfc2863.txt。 此成員可為 Ifdef.h 標頭檔案中定義的 IF_OPER_STATUS 枚舉類型中的值之一。

價值觀 Meaning
如果OperStatusUp(如果OperStatusUp)
1
介面已啟動,能傳遞封包。
如果OperStatusDown(失敗者狀態)
2
介面當機,無法傳送封包。 IfOperStatusDown 狀態有兩種含義,取決於 AdminStatus 成員的值。

AdminStatus 未設為 NET_IF_ADMIN_STATUS_DOWN ,且 ifOperStatus 設為 IfOperStatusDown ,則假設介面存在錯誤條件。

AdminStatus 設定為 IfOperStatusDown,則 ifOperStatus 通常也會設定為 IfOperStatusDownIfOperStatusNotPresent ,且介面不一定存在錯誤條件。

IfOperStatusTesting
3
介面處於測試模式。
如果操作者狀態不明
4
介面的運作狀態不明。
IfOperStatusDormant
5
介面實際上並非處於傳遞封包的狀態(即未啟動),而是處於待處理狀態,等待某個外部事件。 對於按需介面,這個新狀態用來識別介面正在等待事件將其置於 IfOperStatusUp 狀態的狀態。
如果OperStatusNotPresent(非存在)
6
IfOperStatusDown 狀態的細化,表示相關介面因某元件(通常是硬體裝置)未存在於受管理系統中而當機。
如果OperStatusLowerLayerDown(下層下層)
7
IfOperStatusDown 狀態的一個細化。 這個新狀態表示該介面運行在一個或多個其他介面之上,而該介面當機,是因為其中一個或多個較低層的介面當機。

AdminStatus

類型: NET_IF_ADMIN_STATUS

介面的管理狀態依據 RFC 2863 定義。 如需詳細資訊,請參閱http://www.ietf.org/rfc/rfc2863.txt。 此成員可為 Ifdef.h 標頭檔案中定義的NET_IF_ADMIN_STATUS列舉類型中的值之一。

價值觀 Meaning
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枚舉型態中的值之一。

價值觀 Meaning
MediaConnect狀態不明
0
介面的連線狀態未知。
MediaConnectStateConnected
1
介面連接網路。
MediaConnectStateDisconnected
2
介面並未連接到網路。

NetworkGuid

類型: NET_IF_NETWORK_GUID

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

ConnectionType

類型: NET_IF_CONNECTION_TYPE

NDIS 網路介面連接類型。 此成員可為 Ifdef.h 標頭檔中定義的 NET_IF_CONNECTION_TYPE 枚舉型態中的值之一。

價值觀 Meaning
NET_IF_CONNECTION_DEDICATED
1
連線類型是專用的。 當媒體感知是真實的時,這個連結會自動出現。 例如,乙太網路連線是專用的。
NET_IF_CONNECTION_PASSIVE
2
連線類型是被動式的。 遠端端必須將連線連線到當地電視台。 例如,RAS 介面是被動式的。
NET_IF_CONNECTION_DEMAND
3
連線類型為需求撥號。 此類連線會在回應本地動作(例如傳送封包)時出現。
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 及之後版本中定義的。

Type 欄位的值定義在 Ipifcons.h 標頭檔案中。 目前僅支援 類型成員描述 中列出的可能值。

請注意, Netioapi.h 標頭檔案會自動包含在 Iphlpapi.h 標頭檔中。 Netioapi.h 標頭檔絕對不應直接使用。

需求

Requirement 價值觀
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
支援的最低伺服器 Windows Server 2008 [僅限傳統型應用程式]
Header netioapi.h(包括 Iphlpapi.h)

另請參閱

GetAdapters位址

取得IfEntry2

GetIfTable2

IP_ADAPTER_ADDRESSES

MIB_IF_TABLE2

NET_LUID