locked
Cold Boot a Windows CE 5.0 device RRS feed

  • Question

  • Hi,

     

    I was wondering if some could help me. I am trying to cold boot a Windows CE 5.0 device programmatically. I have code that warm boots the handheld using the KernelIoControl API method however code that cold boots a Windows Mobile 5 and Pocket PC 2003 devices do not seem to have the same effect on a Windows CE 5.0 device, which is understandable but I am not sure which part of the code to change to be able to reproduce the cold boot that I am after.

     

    Is there any documentation that explains what the various flags and values are that you can provide to the KernelIoControl API method?

     

    Thank you for taking the time to read this and I look forward to your reply.

     

    Paul Diston

    Wednesday, August 1, 2007 10:27 AM

Answers

  • Hi Paul

     

    Im aware of 3 different boot typs

    - Warm: program memory, and keeps storage memory (object store).

    - Cold: clears both program memory and storage memory.

    - Clean: clears all memory including persistent storage

     

    I assume you're using the following fragment to restart:

    Code Snippet

    Code SnippetSetCleanRebootFlag ();

    KernelIoControl (IOCTL_HAL_REBOOT,NULL, 0, NULL, 0, NULL);

     

     

    The above code fragment does a cold boot (which is the same as a clean boot on devices without persistent storage)

     

    There is currently no generic way of forcing a 'clean' boot on any device I know.

    See (http://blogs.msdn.com/ce_base/archive/2006/02/09/How-OEMs-implement-Clean-Boot-on-WM5.aspx) for some details.

     

    The best documentation for the KernelIoControl and all IOCTL it supports is the Platform Builder for Windows CE 5.0 Docuumentation on MSDN.

    The other API to initiate a reboot is SetSystemPowerState with the POWER_STATE_RESET flag.

    The entire power management is highly device (and OEM) specific. There might be no methods that works for all devices.

     

    I'd suggest you contact the device manucaturer and ask how to implement a 'cold' or 'clean' reboot.

     

    Hope this makes sens

    Michael

    Monday, August 6, 2007 6:40 AM
  • Hi Paul,

    There is no standard way to cold boot this in Window ce 5.0, so you need to use an OEM-provided solution.  If their SDK provides a mechanism, use it.

     

     

     

     

     

     

     

    I hope it helpful to you.

     

    Best regards,

    Guang-Ming Bian - MSFT

    Monday, August 6, 2007 6:28 AM

All replies

  • Hi Paul,

    There is no standard way to cold boot this in Window ce 5.0, so you need to use an OEM-provided solution.  If their SDK provides a mechanism, use it.

     

     

     

     

     

     

     

    I hope it helpful to you.

     

    Best regards,

    Guang-Ming Bian - MSFT

    Monday, August 6, 2007 6:28 AM
  • Hi Paul

     

    Im aware of 3 different boot typs

    - Warm: program memory, and keeps storage memory (object store).

    - Cold: clears both program memory and storage memory.

    - Clean: clears all memory including persistent storage

     

    I assume you're using the following fragment to restart:

    Code Snippet

    Code SnippetSetCleanRebootFlag ();

    KernelIoControl (IOCTL_HAL_REBOOT,NULL, 0, NULL, 0, NULL);

     

     

    The above code fragment does a cold boot (which is the same as a clean boot on devices without persistent storage)

     

    There is currently no generic way of forcing a 'clean' boot on any device I know.

    See (http://blogs.msdn.com/ce_base/archive/2006/02/09/How-OEMs-implement-Clean-Boot-on-WM5.aspx) for some details.

     

    The best documentation for the KernelIoControl and all IOCTL it supports is the Platform Builder for Windows CE 5.0 Docuumentation on MSDN.

    The other API to initiate a reboot is SetSystemPowerState with the POWER_STATE_RESET flag.

    The entire power management is highly device (and OEM) specific. There might be no methods that works for all devices.

     

    I'd suggest you contact the device manucaturer and ask how to implement a 'cold' or 'clean' reboot.

     

    Hope this makes sens

    Michael

    Monday, August 6, 2007 6:40 AM