2
Q
以太网信息
A
回答
1
您可以通过GetIfTable2
和GetIfEntry2
获取大部分内容。如果你需要XP和更早版本的兼容性,你需要看看GetIfTable
和GetIfEntry
。 *2
函数提供了更多信息,但只适用于Vista和更新版本。
我不相信要么会显示延迟 - 因为你几乎需要做一些测量。同样,带宽将仅仅是适配器的额定带宽(例如,100 Mb/s或1000 Mb/s),而不是您在与任何特定主机通信时所期望的。
编辑:下面是一些代码我已经躺在附近应该展示如何使用这些功能的总体思路:
#include <windows.h>
#include <iphlpapi.h>
#include <stdlib.h>
#include <stdio.h>
int main() {
MIB_IFTABLE *interfaces;
unsigned long size = 0;
int i, j;
GetIfTable(interfaces, &size, FALSE);
interfaces = (MIB_IFTABLE *)malloc(size);
GetIfTable(interfaces, &size, TRUE);
for (i=0; i<interfaces->dwNumEntries; i++) {
MIB_IFROW &xf = interfaces->table[i];
printf("%s\n\t", xf.bDescr);
for (j=0; j<xf.dwPhysAddrLen; j++) {
printf("%2.2X", xf.bPhysAddr[j]);
if (j!= xf.dwPhysAddrLen-1)
printf(":");
}
printf("\n");
switch(xf.dwType) {
case MIB_IF_TYPE_ETHERNET:
printf("Ethernet");
break;
case MIB_IF_TYPE_FDDI:
printf("FDDI");
break;
case MIB_IF_TYPE_TOKENRING:
printf("Token Ring");
break;
case MIB_IF_TYPE_LOOPBACK:
printf("Loopback adapter");
break;
case MIB_IF_TYPE_OTHER:
printf("Other");
break;
}
printf("\n");
}
return 0;
}
相关问题
- 1. 以太网 - USB通信
- 2. 需要关于以太网自举程序的信息AT32UC3A0512
- 3. 太多的JSON信息
- 4. 如何从Windows程序访问类似netstat的以太网统计信息
- 5. Arduino以太网和DHCP无法通信到互联网
- 6. AWS - 在网站上创建一个子域,太多信息
- 7. 以太网类型
- 8. MySQL性能 - 100Mb以太网与1Gb以太网
- 9. 太多数据库加入以查找信息
- 10. 你可以把太多的信息放入一个变量吗?
- 11. 如何制作“太多负载”信息
- 12. log4net上登录的信息太多
- 13. Emacs直接:太多的信息
- 14. 谷歌地图信息窗口太宽
- 15. 使用mbed在两个接口(USB-CDC ECM和以太网)之间桥接以太网通信LPC1768
- 16. 通过以太网进行Android Arduino通信的“最佳”方式
- 17. 以太网100Base-TX与T4
- 18. 关闭以太网PHY
- 19. 以太网视频流
- 20. 以太网Linux控制
- 21. FreeBSD以太网操作
- 22. Arduino以太网+ PHP请求
- 23. 网络拓扑信息
- 24. 从网页获取信息
- 25. 从网站存储信息
- 26. 查找网站信息
- 27. 安装信息网站?
- 28. 从网页排序信息
- 29. 从网址抓取信息?
- 30. FreeBSD:网络接口信息
好,我知道这项工作的一部分。但我不明白他们是如何工作的。 :/有时候他们解释错了,或者我不明白。 :( – Kazuma 2011-02-17 00:00:17