当前位置: 代码迷 >> WinCE >> Wince 6.0重启有关问题!
  详细解决方案

Wince 6.0重启有关问题!

热度:626   发布时间:2016-04-28 13:56:29.0
Wince 6.0重启问题!急!!!
在WINCE 6。0重,冷启动怎么实现呢?

我用的板是x86 单板机,系统是WINCE 6。0。在网上看了下,冷启动有多种方法。常用的是使用看门狗和KernelIoControl().

看门狗怎么用呢,是不是要查这款单板机的资料,再写程序,不太熟悉硬件。

在WINCE 6。0中,好象KernelIoControl函数也不能直接调用了,在网上翻了个遍,都没有真正成功过的实例。
我就想增加冷启动这个Case就行了,是不是在D:\WINCE600\PUBLIC\COMMON\OAK\OALIOCTL\oalioctl.cpp中的IOControl函数中,在case IOCTL_PROCESSOR_INFORMATION:后面加上case IOCTL_HAL_REBOOT:就可以了,因为IOCTL_HAL_REBOOT是系统已经实现了它的处理函数,只是在wince 6.0中为了安全不让ap调用而已,就像http://topic.csdn.net/u/20101016/21/2c1780dc-4868-449f-8731-ef5479851082.html中LoongEmbedded说的那样。

可是我这样做了,然后在应用程序中SetCleanRebootFlag();
BOOL flag == KernelIoControl(IOCTL_HAL_REBOOT, NULL, 0, NULL, 0, NULL) ;调用返回错误,wince程序也异常终止了!!!!

到底如何实现冷启动,请有经验的高手出来指点下啊!!

万分感谢!!

------解决方案--------------------
冷启动,楼主是怎么理解啊?我学习一下。
------解决方案--------------------
探讨
关于冷启动,网上有很多相关文章。就是从最开始运行,要初始化硬件等,不是注销。

------解决方案--------------------
試試
SetSystemPowerState(NULL, POWER_STATE_RESET, POWER_FORCE);

Paul, Chao @ Techware

------解决方案--------------------
只要驱动没问题SetSystemPowerState可以起作用!
  相关解决方案