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 astypedef 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 astypedef 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 astypedef 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 astypedef 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 astypedef 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 astypedef 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 astypedef 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 |