TSnapState (Compact 2013)

3/28/2014

This enumeration represents the stages of taking a snapshot.

Syntax

typedef enum
{
    eSnapNone = 0,
    eSnapPass1,
    eSnapPass2,
    eSnapPrepared,
    eSnapTaken,
    eSnapBoot
} TSnapState;

Parameters

  • eSnapNone
    No snapshot capture is in progress.
  • eSnapPass1
    All memory is paged out to storage and the device is suspended.
  • eSnapPass2
    Taking the snapshot is paused for one minute, after which, the device is suspended, the snapshot is written to storage, and the device is resumed.
  • eSnapPrepared
    An interim state during eSnapPass2 after all of the snapshot pages have been identified and the system is about to take the snapshot.
  • eSnapTaken
    Taking the snapshot is complete.
  • eSnapBoot
    The device is in the process of booting from a snapshot image.

Remarks

During the eSnapPass1 stage, the device is suspended and resumed so that only the minimum number of memory pages are active when it is time to take the snapshot. This reduces the number of pages that will be stored in the snapshot, thereby reducing the time it takes to save and restore the snapshot.

The eSnapPass2 stage provides you with an opportunity to activate applications that need to be immediately responsive after the snapshot resumes. Activating an application and exercising the scenario that you want to be readily available will page in its memory so that it will be included in the snapshot and therefore immediately available when the system boots from the snapshot. The device is then suspended, the snapshot is written to storage, and then the device is resumed.

Requirements

Header

snapboot.h

See Also

Reference

Snapshot Boot Reference
Snapshot Boot Structures