3

J'ai vu beaucoup de code concernant l'IOCTL et j'ai essayé d'utiliser du code qui montre comment amorcer à froid un appareil Windows Mobile en réglant SetCleanRebootFlag() et int IOCTL_HAL_REBOOT = 0x101003C; mais il ne se réinitialise pas le nombre de démarrage sous HKLM \ Comm \ BootCount et c'est le moyen rapide pour moi de vérifier le démarrage à froid (devrait être remis à '0'). Quelqu'un peut-il me montrer du code pour une «botte froide»? Je Code référence que je l'ai utilisé d'ici: Reboot Windows Mobile 6.x device programmatically using C#Unité Cold Boot Windows Mobile 6.5 utilisant par programmation C#

Cordialement, Scott

Répondre

4

Ce compteur est remis à zéro pas à zéro avec les appareils qui ont un registre persistant (la plupart des appareils Windows Mobile since WM5 have this). Votre appareil en at-il un?

Votre CPU peut avoir un registre d'état indiquant la cause du dernier redémarrage. Vous pouvez essayer de vérifier cela. Alternativement, votre OEM peut avoir fourni un IOCTL dans le même but.

Un registre propre nécessite un "démarrage minimal". Il n'existe pas de méthode standard pour effectuer un démarrage en mode minimal sur les appareils mobiles Windows. Vous devrez vous référer à la documentation fournie par votre OEM pour cela.

Si vous voulez juste redémarrer l'appareil, j'utilise SetSystemPowerState:

::SetSystemPowerState(NULL, POWER_STATE_RESET, POWER_FORCE); 

-PaulH

Questions connexes