检测Windows Mobile设备软复位

本文关键字:复位 Windows Mobile 检测 | 更新日期: 2023-09-27 18:09:51

有没有办法让我的Windows Mobile 6.1应用程序对系统重置做出反应?如果有关系的话,我使用的是Compact Framework 3.5。

检测Windows Mobile设备软复位

系统重置(即调用IOCTL_HAL_REBOOT内核)通过电源管理器(它应该,OEM可能会选择其他方式,但这种情况很少见)。在重置期间,PM广播一个电源管理通知,您可以通过调用RequestPowerNotifications api来请求接收该通知。电源管理器所做的最后一件事是使用单线程并调用所有驱动程序的Xxx_PowerDown方法。此时,驱动程序可以选择进行清理、最终冲洗等以进入稳定状态,然后设备重新启动。

从应用程序的角度来看,RequestPowerNotifications调用是你唯一能做的事情。注意PM会广播通知并继续移动。它不而不等待任何人完成任何活动(就像调用Xxx_PowerDown一样)。这通常意味着您的应用程序永远不会收到通知,或者即使收到通知,您也可能只有机会运行几行代码(我认为我见过的最多的是大约4行)。在挂起/恢复时,应用程序代码通常在你醒来后运行。如果是重置,因为RAM和处理器都是重置的,你就没有这个机会了。

所以,在那个冗长的回复之后,简短的回答是,你可能能够收到通知,但即使你这样做了,你也不太可能真正能够做任何事情来响应它