1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 #if !defined(_SRRESTOREPTAPI_H) 7 #define _SRRESTOREPTAPI_H 8 9 #include <_mingw_unicode.h> 10 11 #define MIN_EVENT 100 12 #define BEGIN_SYSTEM_CHANGE 100 13 #define END_SYSTEM_CHANGE 101 14 #define BEGIN_NESTED_SYSTEM_CHANGE 102 15 #define END_NESTED_SYSTEM_CHANGE 103 16 #define MAX_EVENT 103 17 18 #define MIN_RPT 0 19 #define APPLICATION_INSTALL 0 20 #define APPLICATION_UNINSTALL 1 21 #define DESKTOP_SETTING 2 22 #define ACCESSIBILITY_SETTING 3 23 #define OE_SETTING 4 24 #define APPLICATION_RUN 5 25 #define RESTORE 6 26 #define CHECKPOINT 7 27 #define WINDOWS_SHUTDOWN 8 28 #define WINDOWS_BOOT 9 29 #define DEVICE_DRIVER_INSTALL 10 30 #define FIRSTRUN 11 31 #define MODIFY_SETTINGS 12 32 #define CANCELLED_OPERATION 13 33 #define BACKUP_RECOVERY 14 34 #define MAX_RPT 14 35 36 #define MAX_DESC 64 37 #define MAX_DESC_W 256 38 39 #pragma pack(push,srrestoreptapi_include) 40 #pragma pack(1) 41 42 typedef struct _RESTOREPTINFOA { 43 DWORD dwEventType; 44 DWORD dwRestorePtType; 45 INT64 llSequenceNumber; 46 CHAR szDescription[MAX_DESC]; 47 } RESTOREPOINTINFOA,*PRESTOREPOINTINFOA; 48 49 typedef struct _RESTOREPTINFOW { 50 DWORD dwEventType; 51 DWORD dwRestorePtType; 52 INT64 llSequenceNumber; 53 WCHAR szDescription[MAX_DESC_W]; 54 } RESTOREPOINTINFOW,*PRESTOREPOINTINFOW; 55 56 typedef struct _SMGRSTATUS { 57 DWORD nStatus; 58 INT64 llSequenceNumber; 59 } STATEMGRSTATUS,*PSTATEMGRSTATUS; 60 61 #pragma pack(pop,srrestoreptapi_include) 62 63 #ifdef __cplusplus 64 extern "C" { 65 #endif 66 67 WINBOOL __stdcall SRSetRestorePointA(PRESTOREPOINTINFOA pRestorePtSpec,PSTATEMGRSTATUS pSMgrStatus); 68 WINBOOL __stdcall SRSetRestorePointW(PRESTOREPOINTINFOW pRestorePtSpec,PSTATEMGRSTATUS pSMgrStatus); 69 DWORD __stdcall SRRemoveRestorePoint(DWORD dwRPNum); 70 71 #ifdef __cplusplus 72 } 73 #endif 74 75 #define RESTOREPOINTINFO __MINGW_NAME_AW(RESTOREPOINTINFO) 76 #define PRESTOREPOINTINFO __MINGW_NAME_AW(PRESTOREPOINTINFO) 77 #define SRSetRestorePoint __MINGW_NAME_AW(SRSetRestorePoint) 78 79 #endif 80