Share via


SnapshotSupport (Compact 2013)

10/16/2014

This structure stores the OEM-defined callback functions that support snapshot boot.

Syntax

typedef struct _SnapshotSupport {
    PFN_OEMPrepareSnapshot  pfnPrepareSnapshot;
    PFN_OEMWriteSnapshot    pfnSnapWrite;
    PFN_OEMTakeCPUSnapshot  pfnSnapCPU;
    PFN_OEMSnapshotResume   pfnSnapshotResume;
    PFN_OEMCompressSnapshot pfnCompress;
    PFN_OEMGetSnapshotRegions pfnSnapGetOemRegions;
    PFN_OEMReadSnapshot     pfnSnapRead;
    DWORD                   dwOemData;
} SnapshotSupport, *PSnapshotSupport;
typedef const SnapshotSupport *PCSnapshotSupport;

Members

  • pfnPrepareSnapshot
    Pointer to the OEM-provided OEMPrepareSnapshot function. The OS calls this function with the size of the snapshot image so that enough storage can be prepared to save it. PFN_OEMPrepareSnapshot is defined as typedef BOOL (* PFN_OEMPrepareSnapshot)(DWORD cbSnapSize);
  • pfnSnapWrite
    Pointer to the OEM-provided OEMWriteSnapshot function. The OS calls this function when it is time to write the snapshot image to the storage area. PFN_OEMWriteSnapshot is defined as typedef BOOL (* PFN_OEMWriteSnapshot)(LPCVOID pSnapshot, DWORD cbSize, DWORD dwOfst);
  • pfnSnapCPU
    Pointer to the OEM-provided OEMTakeCPUSnapshot function. The OS calls this function to save the current contents of the CPU registers and the control registers. The OEM is responsible for restoring these registers in the OEM-provided OEMSnapshotResume function. PFN_OEMTakeCPUSnapshot is defined as typedef BOOL (* PFN_OEMTakeCPUSnapshot)(DWORD dwSnapPC, LPVOID pCpuContext, DWORD cbCpuContext);
  • pfnSnapshotResume
    Pointer to the OEM-provided OEMSnapshotResume function. The OS calls this function immediately after booting from a snapshot to initialize the platform and reinitialize all CPU-specific hardware as though the computer had been cold-booted. PFN_OEMSnapshotResume is defined as typedef BOOL (* PFN_OEMTakeCPUSnapshot)(DWORD dwSnapPC, LPVOID pCpuContext, DWORD cbCpuContext);
  • pfnCompress
    Pointer to the OEM-provided OEMCompressSnapshot function. The OS calls this function to compress the snapshot memory image before writing it to storage. PFN_OEMCompressSnapshot is defined as typedef BOOL (* PFN_OEMCompressSnapshot)(LPCVOID pSrc, DWORD cbSrc, LPVOID pDst, PDWORD pcbDst);
  • pfnSnapGetOemRegions
    Pointer to the OEM-provided OEMGetSnapshotRegions function. The OS calls this function before it takes the snapshot so that OEM-specific regions of RAM are included in the snapshot. PFN_OEMGetSnapshotRegions is defined as typedef PCRamTable (* PFN_OEMGetSnapshotRegions) (void);
  • pfnSnapRead
    (Optional) Pointer to the OEM-provided OEMReadSnapshot function if snapshot paging is supported. The OS calls this function to read from the snapshot storage at a specified offset in memory. PFN_OEMReadSnapshot is defined as typedef BOOL (* PFN_OEMReadSnapshot)(LPVOID pPagingMem, DWORD cbSize, DWORD dwSnapOffset);
  • dwOemData
    (Optional) OEM-specific value that can be used to pass information to the bootloader. For example, the OEM can define and pass a value that indicates which compression algorithm the OEM will use to compress the image so that the bootloader can use the corresponding decompression algorithm.

Remarks

Provide the address of your SnapshotSupport structure in the pSnapshotSupport field of OEMGLOBAL.

Requirements

Header

oemglobal.h

See Also

Reference

OAL Structures