9 #define NETIO_STATUS DWORD
10 #define NETIOAPI_API_ WINAPI
12 #define NETIO_STATUS NTSTATUS
13 #define NETIOAPI_API_ NTAPI
16 #define NETIOAPI_API NETIO_STATUS NETIOAPI_API_
22 typedef struct _MIB_IF_ROW2
{
23 NET_LUID InterfaceLuid
;
24 NET_IFINDEX InterfaceIndex
;
26 WCHAR Alias
[IF_MAX_STRING_SIZE
+ 1];
27 WCHAR Description
[IF_MAX_STRING_SIZE
+ 1];
28 ULONG PhysicalAddressLength
;
29 UCHAR PhysicalAddress
[IF_MAX_PHYS_ADDRESS_LENGTH
];
30 UCHAR PermanentPhysicalAddress
[IF_MAX_PHYS_ADDRESS_LENGTH
];
33 TUNNEL_TYPE TunnelType
;
34 NDIS_MEDIUM MediaType
;
35 NDIS_PHYSICAL_MEDIUM PhysicalMediumType
;
36 NET_IF_ACCESS_TYPE AccessType
;
37 NET_IF_DIRECTION_TYPE DirectionType
;
39 BOOLEAN HardwareInterface
: 1;
40 BOOLEAN FilterInterface
: 1;
41 BOOLEAN ConnectorPresent
: 1;
42 BOOLEAN NotAuthenticated
: 1;
43 BOOLEAN NotMediaConnected
: 1;
46 BOOLEAN EndPointInterface
: 1;
47 } InterfaceAndOperStatusFlags
;
48 IF_OPER_STATUS OperStatus
;
49 NET_IF_ADMIN_STATUS AdminStatus
;
50 NET_IF_MEDIA_CONNECT_STATE MediaConnectState
;
51 NET_IF_NETWORK_GUID NetworkGuid
;
52 NET_IF_CONNECTION_TYPE ConnectionType
;
53 ULONG64 TransmitLinkSpeed
;
54 ULONG64 ReceiveLinkSpeed
;
60 ULONG64 InUnknownProtos
;
61 ULONG64 InUcastOctets
;
62 ULONG64 InMulticastOctets
;
63 ULONG64 InBroadcastOctets
;
66 ULONG64 OutNUcastPkts
;
69 ULONG64 OutUcastOctets
;
70 ULONG64 OutMulticastOctets
;
71 ULONG64 OutBroadcastOctets
;
73 } MIB_IF_ROW2
, *PMIB_IF_ROW2
;
75 typedef struct _MIB_IF_TABLE2
79 } MIB_IF_TABLE2
, *PMIB_IF_TABLE2
;
81 NETIOAPI_API
GetIfEntry2(IN OUT PMIB_IF_ROW2 Row
);
82 NETIOAPI_API
GetIfTable2(OUT PMIB_IF_TABLE2
*Table
);