首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > WinCE >

wince5.0,为什么每次修改了IP设置,重启动后就恢复到原样?解决方案

2012-02-16 
wince5.0,为什么每次修改了IP设置,重启动后就恢复到原样?wince5.0,为什么每次修改了IP设置,重启动后就恢复

wince5.0,为什么每次修改了IP设置,重启动后就恢复到原样?
wince5.0,为什么每次修改了IP设置,重启动后就恢复到原样?

[解决办法]
写注册表后,flush没有;重起网卡用 :
这是NDIS层的调用,当初我也遇到同样的问题,研究了好久,这是最有效的一种重新启动网卡(自动完成DHCP,驱动重启,IP设置)的方式.其余方式无效.

//卸载主端口驱程

WCHAR MainAdapterName2[100]=TEXT( "DDNETM\0DDNETM1\0\0 "); //网卡1 在系统中名,

bRet = DeviceIoControl(

hAdapter,

IOCTL_NDIS_DEREGISTER_ADAPTER,

MainAdapterName,

wcslen((MainAdapterName)+1) * sizeof(WCHAR),

NULL,

0,

&dwReturnedBytes,

NULL

);





if(bRet==TRUE)

{

TRACE(_T( "DELoad MiniPort Success "));

}

else

{

int nError=GetLastError();

CString strErr;

strErr.Format(_T( "Name=%s IOCTL_NDIS_REGISTER_ADAPTER Failed Code=%d "),MainAdapterName,nError);

TRACE(strErr);

}

WCHAR MainAdapterName2[100]=TEXT( "DDNETM\0DDNETM1\0\0 ");

//装载主端口驱程

bRet = DeviceIoControl(

hAdapter,

IOCTL_NDIS_REGISTER_ADAPTER,

MainAdapterName2,

wcslen((MainAdapterName2)+1) * sizeof(WCHAR),

NULL,

0,

&dwReturnedBytes,

NULL

);





if(bRet==TRUE)

{

TRACE(_T( "Load MiniPort Success "));

}

else



{

int nError=GetLastError();

CString strErr;

strErr.Format(_T( "Name=%s IOCTL_NDIS_REGISTER_ADAPTER Failed Code=%d "),MainAdapterName,nError);

TRACE(strErr);

}



[解决办法]
因为你没有正确配置硬盘驱动,或者没有加载文件系统

你能启动nk是在dos下启动的,只是表示你在dos能认到

而且nk是二进制文件,所以没有文件系统也可以的

裁系统的时候,指定硬盘盘符和设置存放NK的位置不是一回事

[解决办法]
那个网卡重启程序是用来重置网卡的,是为了能够在程序中动态修改网卡IP,至于你的保存IP的功能,并不适用,wince自动会把注册表保存在你的存储设备中,采用保护的方式,一般情况下是看不到的,否则你的ce早挂掉了。
[解决办法]
修改注册表确实是一个好办法

热点排行