※==================================================================
※本连载文章说明:
※1、连载首发于《软件报》(http://www.sweek.com)2006年21期(2006年5月22日);
※2、此次网上连载采用的是原稿件结构,内容与《软件报》发表略有不同;
※3、谢绝除《软件报》及其相关刊物之外的传统媒体部分或全部转载;
※4、谢绝任何收费媒体、网络转载;
※5、原作者:uruseibest ,blog:http://blog.csdn.net/uruseibest;
※6、如有其它疑问,请联系作者;
※7、如有转载,必须连同本说明一并发表,否则将追究转载者责任。
※======================================================================
第十一节 获取当前计算机的IP信息
1、函数:
Private Declare Function GetIpStatistics Lib "iphlpapi.dll" (pStats As MIB_IPSTATS) As Long
参数说明:
pStats:[输出] 指向一个包含IP信息的MIB_IPSTATS类型。
返回值:成功,返回0;失败,返回错误代码。
2、使用到的类型:
①MIB_IPSTATS 存储于电脑的IP协议运行信息。
Type MIB_IPSTATS
dwForwarding As Long '启用或者禁止转发IP包(IP forwarding)
dwDefaultTTL As Long '指定默认初始化的生存时间(TTL)的值
dwInReceives As Long '已收到数据包数目
dwInHdrErrors As Long '已收到报头有误的数据包数目
dwInAddrErrors As Long '已收到地址有误的数据包数目
dwForwDatagrams As Long '已转发数据报数目
dwInUnknownProtos As Long '已收到协议不明的数据报数目
dwInDiscards As Long '已收到多少已丢弃的数据报
dwInDelivers As Long '已收到多少已投递的数据报
dwOutRequests As Long '发送IP请求传输的数据报数目,不包括转发的数据包
dwRoutingDiscards As Long '已丢弃的发送数据报数目
dwOutDiscards As Long '丢弃的传输数据报数目
dwOutNoRoutes As Long '没有路由目标IP地址而被丢弃的数据报数目
dwReasmTimeout As Long '分段数据报完全到达的最长时间,再此时间之外数据将被丢弃
dwReasmReqds As Long '需要重组的数据报数目
dwReasmOks As Long '已成功重组的数据报数目
dwReasmFails As Long '不能进行重组的数据报数目
dwFragOks As Long '已成功进行分段的数据报数目
dwFragFails As Long '不能进行分段的数据报数目,这些数据包将被丢弃
dwFragCreates As Long '可被分段的数据报数目
dwNumIf As Long '接口数目
dwNumAddr As Long '与此计算机关联的IP地址数目
dwNumRoutes As Long '路由表中可用的路由数目
End Type
3、使用到的常量:
无
4、主要代码分析:
①定义一个MIB_IPSTATS类型的变量,然后直接调用GetIpStatistics:
Dim MI As MIB_IPSTATS
r = GetIpStatistics(MI)
Print "启用或者禁止转发IP包", MI.dwForwarding
5、运行时截图: