How to get the Network adapter link speed?
using SENS API ~~ IsDestinationReachable function.
QOCINFO STRUCT
dwSize dd ?
dwFlags dd ?
dwInSpeed dd ?
dwOutSpeed dd ?
QOCINFO ENDS
local qqic[4] :DWORD
lea ebx, qqic
mov DWORD PTR [ebx], sizeof QOCINFO
mov DWORD PTR [ebx + 04h], 1h
mov DWORD PTR [ebx + 08h], 0h
mov DWORD PTR [ebx + 0ch], 0h
mov ebx, offset szAddrDesc
mov ecx, 512
@@:
mov BYTE PTR [ebx], 0
inc ebx
loop @B
cmp hAddrInfo, 0
je @F
mov IDX, 0
mov edi, hAddrInfo
assume edi:PTR IP_ADAPTER_INFO
.while edi
mov eax, IDX
.if eax == Index
invoke GetMACString, addr [edi].Address, [edi].AddressLength, addr MAC, 20
invoke GetIPAddrString, addr [edi].IpAddressList.IpAddress, addr IP1, 20
invoke GetIPAddrString, addr [edi].IpAddressList.IpMask, addr IP2, 20
invoke GetIPAddrString, addr [edi].GatewayList.IpAddress, addr IP3, 20
invoke GetIPAddrString, addr [edi].DhcpServer.IpAddress, addr IP4, 20
invoke IsDestinationReachable, addr IP1, addr qqic
lea ebx, qqic
mov eax, [ebx + 0ch]
xor edx, edx
mov ebx, 1000000
div ebx
push eax
push eax
invoke wsprintf, addr szAddrDesc, addr szDescFormat, addr [edi].AdapterName, \
addr [edi].Description, addr IP1, addr IP2, addr IP3, addr IP4, addr MAC