123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- /******************************************************************************
- Copyright (c) 2000 Microsoft Corporation
- Module Name:
- SRRestorePtAPI.h
- Abstract:
- This file contains the declarations for the SRRESTOREPT_API
- ******************************************************************************/
- #if !defined( _SRRESTOREPTAPI_H )
- #define _SRRESTOREPTAPI_H
- //
- // Type of Event
- //
- #define MIN_EVENT 100
- #define BEGIN_SYSTEM_CHANGE 100
- #define END_SYSTEM_CHANGE 101
- #define BEGIN_NESTED_SYSTEM_CHANGE 102 // for Whistler only - use this to prevent nested restore pts
- #define END_NESTED_SYSTEM_CHANGE 103 // for Whistler only - use this to prevent nested restore pts
- #define MAX_EVENT 103
- //
- // Type of Restore Points
- //
- #define MIN_RPT 0
- #define APPLICATION_INSTALL 0
- #define APPLICATION_UNINSTALL 1
- #define DESKTOP_SETTING 2 /* Not implemented */
- #define ACCESSIBILITY_SETTING 3 /* Not implemented */
- #define OE_SETTING 4 /* Not implemented */
- #define APPLICATION_RUN 5 /* Not implemented */
- #define RESTORE 6
- #define CHECKPOINT 7
- #define WINDOWS_SHUTDOWN 8 /* Not implemented */
- #define WINDOWS_BOOT 9 /* Not implemented */
- #define DEVICE_DRIVER_INSTALL 10
- #define FIRSTRUN 11
- #define MODIFY_SETTINGS 12
- #define CANCELLED_OPERATION 13 /* Only valid for END_SYSTEM_CHANGE */
- #define BACKUP_RECOVERY 14
- #define MAX_RPT 14
- #define MAX_DESC 64
- #define MAX_DESC_W 256 // longer for Whistler
- //
- // for Millennium compatibility
- //
- #pragma pack(push, srrestoreptapi_include)
- #pragma pack(1)
- //
- // Restore point information
- //
- typedef struct _RESTOREPTINFOA {
- DWORD dwEventType; // Type of Event - Begin or End
- DWORD dwRestorePtType; // Type of Restore Point - App install/uninstall
- INT64 llSequenceNumber; // Sequence Number - 0 for begin
- CHAR szDescription[MAX_DESC]; // Description - Name of Application / Operation
- } RESTOREPOINTINFOA, *PRESTOREPOINTINFOA;
- typedef struct _RESTOREPTINFOW {
- DWORD dwEventType;
- DWORD dwRestorePtType;
- INT64 llSequenceNumber;
- WCHAR szDescription[MAX_DESC_W];
- } RESTOREPOINTINFOW, *PRESTOREPOINTINFOW;
- //
- // Status returned by System Restore
- //
- typedef struct _SMGRSTATUS {
- DWORD nStatus; // Status returned by State Manager Process
- INT64 llSequenceNumber; // Sequence Number for the restore point
- } STATEMGRSTATUS, *PSTATEMGRSTATUS;
- #pragma pack(pop, srrestoreptapi_include)
- #ifdef __cplusplus
- extern "C" {
- #endif
- //
- // RPC call to set a restore point
- //
- // Return value TRUE if the call was a success
- // FALSE if the call failed
- //
- // If pSmgrStatus nStatus field is set as follows
- //
- // ERROR_SUCCESS If the call succeeded (return value will be TRUE)
- //
- // ERROR_TIMEOUT If the call timed out due to a wait on a mutex for
- // for setting restore points.
- //
- // ERROR_INVALID_DATA If the cancel restore point is called with an invalid
- // sequence number
- //
- // ERROR_INTERNAL_ERROR If there are internal failures.
- //
- // ERROR_BAD_ENVIRONMENT If the API is called in SafeMode
- //
- // ERROR_SERVICE_DISABLED If SystemRestore is Disabled.
- //
- // ERROR_DISK_FULL If System Restore is frozen (Windows Whistler only)
- //
- // ERROR_ALREADY_EXISTS If this is a nested restore point
- BOOL __stdcall
- SRSetRestorePointA(
- PRESTOREPOINTINFOA pRestorePtSpec, // [in] Restore Point specification
- PSTATEMGRSTATUS pSMgrStatus // [out] Status returned
- );
- BOOL __stdcall
- SRSetRestorePointW(
- PRESTOREPOINTINFOW pRestorePtSpec,
- PSTATEMGRSTATUS pSMgrStatus
- );
- DWORD __stdcall
- SRRemoveRestorePoint(DWORD dwRPNum);
-
- #ifdef __cplusplus
- }
- #endif
- #ifdef UNICODE
- #define RESTOREPOINTINFO RESTOREPOINTINFOW
- #define PRESTOREPOINTINFO PRESTOREPOINTINFOW
- #define SRSetRestorePoint SRSetRestorePointW
- #else
- #define RESTOREPOINTINFO RESTOREPOINTINFOA
- #define PRESTOREPOINTINFO PRESTOREPOINTINFOA
- #define SRSetRestorePoint SRSetRestorePointA
- #endif
- #endif // !defined( _RESTOREPTAPI_H )
|