你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 网络与通信
静态IP自动配置的实现(二)
 

3)使用WMIWindows Management Instrumentation)中Win32_NetworkAdapterConfiguration类实现IP地址管理。

Windows Management Instrumentation (WMI) Microsoft WBEM 的实现,通过企业网络为访问和共享管理信息主动建立的标准。WMI 符合 WBEM 标准,并为“公用信息模型 (CIM)”(它是描述存在于管理环境中的对象的数据模型)提供完整的支持。WMI 可以被 Microsoft 技术和工具使用,如可以与编程或脚本系统(如 Windows 脚本宿主)一起使用 WMI 来检索大部分计算机系统方面的详细配置信息(包括服务器应用程序),或者对系统的配置进行更改。

WMIWin32_NetworkAdapterConfiguration类实现了大多数的网络适配器的配置工作,可以通过EnableStatic方法设置IP地址和子网掩码;通过SetGateways方法设置网关;通过SetDNSServerSearchOrder方法设置DNS服务器地址。

由于WMI使用了CIM作为实现基础,因此在以上的类和方法均使用一种接口定义语MOF(Managed object Format/受管对象格式)来准确描述模型中的类和关联,以上的方法MOF描述如下:

uint32 EnableStatic(

  [in]  string IPAddress[],

  [in]  string SubnetMask[]

);

 

uint32 SetGateways(

  [in]  string DefaultIPGateway[],

  [in]  uint16 GatewayCostMetric[]

);

 

uint32 SetDNSServerSearchOrder(

  [in]  string DNSServerSearchOrder[]

);

以上三种方案均可以实现在Windows环境中不重新启动修改网络适配器参数,但是使用netsh命令行在C++程序中调用效率不高,而使用微软未公开得API实现可能会受到操作系统变更的影响,为了支持个不同版本的Windows本方案使用WMI作为本程序实现的基础。

2.程序开发

通过以上的分析,本程序主要需要实现的功能是在windows环境中根据给定的配置参数对指定的网络适配器进行配置,程序流图如下:


1 程序流图

1所示的程序流图中表明了程序开始首先等待用户的输入,即选择接入网络的物理地址,然后程序根据配置文件中的数据选择恰当的配置参数,这些参数被预先存放在Config.ini文件中,需要注意的是IP地址参数分为两种情况,一种是确定的IP地址,另一种是仅提供IP地址的前3部分,最后一部分为0,如192.168.1.0。因为在实际网络中不可能配置这样的IP地址,程序会自动判断参数,如果IP不确定那么会随机生成IP的最后一部分,然后程序尝试配置,如果发生IP地址冲突那么程序将对原IP进行自增一的操作后尝试IP设置,直到成功配置一个合法的IP地址。

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089