Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

107 lines
3.1 KiB

  1. /******************************************************************************
  2. *
  3. * Copyright (c) 2000 Microsoft Corporation
  4. *
  5. * Module Name:
  6. * srrpcapi.h
  7. *
  8. * Abstract:
  9. * Declarations for private RPC API
  10. *
  11. * Revision History:
  12. * Brijesh Krishnaswami (brijeshk) 03/17/2000
  13. * created
  14. *
  15. *****************************************************************************/
  16. #ifndef _SRRPCAPI_H_
  17. #define _SRRPCAPI_H_
  18. #ifdef __cplusplus
  19. extern "C" {
  20. #endif
  21. DWORD WINAPI DisableSR(LPCWSTR pszDrive);
  22. DWORD WINAPI EnableSR(LPCWSTR pszDrive);
  23. DWORD WINAPI EnableSREx(LPCWSTR pszDrive, BOOL fWait);
  24. DWORD WINAPI DisableFIFO(DWORD dwRPNum);
  25. DWORD WINAPI EnableFIFO();
  26. DWORD WINAPI SRUpdateDSSize(LPCWSTR pszDrive, UINT64 ullSizeLimit);
  27. DWORD WINAPI SRSwitchLog();
  28. DWORD WINAPI SRUpdateMonitoredListA(LPCSTR pszXMLFile);
  29. DWORD WINAPI SRUpdateMonitoredListW(LPCWSTR pwszXMLFile);
  30. #ifdef UNICODE
  31. #define SRUpdateMonitoredList SRUpdateMonitoredListW
  32. #else
  33. #define SRUpdateMonitoredList SRUpdateMonitoredListA
  34. #endif
  35. void WINAPI SRNotify(LPCWSTR pszDrive, DWORD dwFreeSpaceInMB, BOOL fImproving);
  36. DWORD WINAPI SRFifo(LPCWSTR pszDrive,
  37. DWORD dwTargetRp,
  38. int nPercent,
  39. BOOL fIncludeCurrentRp,
  40. BOOL fFifoAtleastOneRp);
  41. DWORD WINAPI SRCompress(LPCWSTR pszDrive);
  42. DWORD WINAPI SRFreeze(LPCWSTR pszDrive);
  43. DWORD WINAPI ResetSR(LPCWSTR pszDrive);
  44. DWORD WINAPI SRPrintState();
  45. //
  46. // Registration of callback method for third-parties to
  47. // do their own snapshotting and restoration for their components.
  48. // Applications can call this method with the full path of their dll.
  49. // System Restore will load each registered dll dynamically and call one of the
  50. // following functions in the dll:
  51. // "CreateSnapshot" when creating a restore point
  52. // "RestoreSnapshot" when restoring to a restore point
  53. //
  54. // returns ERROR_SUCCESS on success
  55. // Win32 error on failure
  56. //
  57. DWORD WINAPI SRRegisterSnapshotCallback(LPCWSTR pszDllPath);
  58. //
  59. // corresponding unregistration function to above function.
  60. // Applications can call this to unregister any snapshot callbacks
  61. // they have already registered
  62. //
  63. // returns ERROR_SUCCESS on success
  64. // Win32 error on failure
  65. //
  66. DWORD WINAPI SRUnregisterSnapshotCallback(LPCWSTR pszDllPath);
  67. //
  68. // callback function names
  69. //
  70. static LPCSTR s_cszCreateSnapshotCallback = "CreateSnapshot";
  71. static LPCSTR s_cszRestoreSnapshotCallback = "RestoreSnapshot";
  72. //
  73. // applications should define their callback functions as
  74. // DWORD WINAPI CreateSnapshot(LPCWSTR pszSnapshotDir)
  75. // pszSnapshotDir: SystemRestore will create this directory
  76. // The application can store its snapshot data in this directory
  77. // DWORD WINAPI RestoreSnapshot(LPCWSTR pszSnapshotDir)
  78. // pszSnapshotDir: This directory is the same as the one passed to CreateSnapshot
  79. // Applications can retrieve the snapshot data from this directory
  80. //
  81. DWORD WINAPI CreateSnapshot(LPCWSTR pszSnapshotDir);
  82. DWORD WINAPI RestoreSnapshot(LPCWSTR pszSnapshotDir);
  83. #ifdef __cplusplus
  84. }
  85. #endif
  86. #endif