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 頭檔中。
下表列出介面類型的一般值,但可能有許多其他值。
TunnelType
類型: TUNNEL_TYPE
如果 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
類型: 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列舉類型的其中一個值。
AdminStatus
類型: NET_IF_ADMIN_STATUS
RFC 2863 中所定義的介面系統管理狀態。 如需詳細資訊,請參閱http://www.ietf.org/rfc/rfc2863.txt。 這個成員可以是 Ifdef.h 頭檔中所定義NET_IF_ADMIN_STATUS列舉類型的其中一個值。
值 | 意義 |
---|---|
|
介面已初始化並啟用。 但介面不一定準備好傳輸和接收網路數據,因為這取決於介面的操作狀態。 |
|
介面已關閉,而且此介面無法用來傳輸或接收網路數據。 |
|
介面處於測試模式,而且無法傳輸或接收任何網路數據。 |
MediaConnectState
類型: NET_IF_MEDIA_CONNECT_STATE
介面的連接狀態。 這個成員可以是 Ifdef.h 頭檔中所定義NET_IF_MEDIA_CONNECT_STATE列舉類型的其中一個值。
值 | 意義 |
---|---|
|
介面的連接狀態未知。 |
|
介面會連線到網路。 |
|
介面未連線到網路。 |
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 和更新版本上定義。
[類型] 欄位的值定義於 Ipifcons.h 頭檔中。 目前僅支持 類型 成員描述中所列的可能值。
請注意, Netioapi.h 頭文件會自動包含在 Iphlpapi.h 頭檔中。 不應該直接使用 Netioapi.h 頭檔。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
標頭 | netioapi.h (包含 Iphlpapi.h) |