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 標頭檔案中。
下表列出了介面類型的常見值,但還有許多其他數值可能。
TunnelType
類型: TUNNEL_TYPE
隧道所使用的封裝方法, 若類型成員 是 IF_TYPE_TUNNEL。 隧道類型由網網路名稱分配機構(IANA)定義。 如需詳細資訊,請參閱http://www.iana.org/assignments/ianaiftype-mib。 此成員可為 Ifdef.h 標頭檔案中定義的TUNNEL_TYPE枚舉型態中的值之一。
MediaType
類型: NDIS_MEDIUM
介面的 NDIS 媒體類型。 此成員可為 Ntddndis.h 標頭檔案中定義的NDIS_MEDIUM列舉類型中的值之一。
PhysicalMediumType
類型: NDIS_PHYSICAL_MEDIUM
NDIS實體媒介類型。 此成員可為 Ntddndis.h 標頭檔案中定義的NDIS_PHYSICAL_MEDIUM枚舉類型中的值之一。
AccessType
類型: NET_IF_ACCESS_TYPE
介面存取類型。 此成員可為 Ifdef.h 標頭檔案中定義的NET_IF_ACCESS_TYPE枚舉型態中的值之一。
DirectionType
類型: NET_IF_DIRECTION_TYPE
介面方向類型。 此成員可為 Ifdef.h 標頭檔案中定義的NET_IF_DIRECTION_TYPE列舉類型中的值之一。
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 枚舉類型中的值之一。
AdminStatus
類型: NET_IF_ADMIN_STATUS
介面的管理狀態依據 RFC 2863 定義。 如需詳細資訊,請參閱http://www.ietf.org/rfc/rfc2863.txt。 此成員可為 Ifdef.h 標頭檔案中定義的NET_IF_ADMIN_STATUS列舉類型中的值之一。
| 價值觀 | Meaning |
|---|---|
|
介面已初始化並啟用。 但介面不一定準備好傳送和接收網路資料,因為這取決於介面的運作狀態。 |
|
介面已關閉,無法用來傳送或接收網路資料。 |
|
介面處於測試模式,無法傳送或接收任何網路資料。 |
MediaConnectState
類型: NET_IF_MEDIA_CONNECT_STATE
介面的連線狀態。 此成員可為 Ifdef.h 標頭檔案中定義的NET_IF_MEDIA_CONNECT_STATE枚舉型態中的值之一。
| 價值觀 | Meaning |
|---|---|
|
介面的連線狀態未知。 |
|
介面連接網路。 |
|
介面並未連接到網路。 |
NetworkGuid
類型: NET_IF_NETWORK_GUID
介面所屬網路所關聯的 GUID。
ConnectionType
類型: NET_IF_CONNECTION_TYPE
NDIS 網路介面連接類型。 此成員可為 Ifdef.h 標頭檔中定義的 NET_IF_CONNECTION_TYPE 枚舉型態中的值之一。
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) |