- Visual C++源码
- Visual Basic源码
- C++ Builder源码
- Java源码
- Delphi源码
- C/C++源码
- PHP源码
- Perl源码
- Python源码
- Asm源码
- Pascal源码
- Borland C++源码
- Others源码
- SQL源码
- VBScript源码
- JavaScript源码
- ASP/ASPX源码
- C#源码
- Flash/ActionScript源码
- matlab源码
- PowerBuilder源码
- LabView源码
- Flex源码
- MathCAD源码
- VBA源码
- IDL源码
- Lisp/Scheme源码
- VHDL源码
- Objective-C源码
- Fortran源码
- tcl/tk源码
- QT源码
- /******************************************************************************
- 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 )