使用SENS API获取当前网卡连接速度

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值