Leaked source code of windows server 2003
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.

115 lines
3.0 KiB

  1. /*
  2. **------------------------------------------------------------------------------
  3. ** Module: Disk Space Cleanup Property Sheets
  4. ** File: callback.h
  5. **
  6. ** Purpose: Defines the IEmptyVoluemCacheCallback interface for
  7. ** the cleanup manager.
  8. ** Notes:
  9. ** Mod Log: Created by Jason Cobb (2/97)
  10. **
  11. ** Copyright (c)1997 Microsoft Corporation, All Rights Reserved
  12. **------------------------------------------------------------------------------
  13. */
  14. #ifndef CALLBACK_H
  15. #define CALLBACK_H
  16. /*
  17. **------------------------------------------------------------------------------
  18. ** Project include files
  19. **------------------------------------------------------------------------------
  20. */
  21. #ifndef COMMON_H
  22. #include "common.h"
  23. #endif
  24. #ifndef EMPTYVC_H
  25. #include <emptyvc.h>
  26. #endif
  27. /*
  28. **------------------------------------------------------------------------------
  29. ** Defines
  30. **------------------------------------------------------------------------------
  31. */
  32. /*
  33. **------------------------------------------------------------------------------
  34. ** Global function prototypes
  35. **------------------------------------------------------------------------------
  36. */
  37. /*
  38. **------------------------------------------------------------------------------
  39. ** Class declarations
  40. **------------------------------------------------------------------------------
  41. */
  42. /*
  43. **------------------------------------------------------------------------------
  44. ** Class: CVolumeCacheCallBack
  45. ** Purpose: Implements the IEmptyVolumeCacheCallBack interface
  46. ** Notes:
  47. ** Mod Log: Created by Jason Cobb (2/97)
  48. **------------------------------------------------------------------------------
  49. */
  50. class CVolumeCacheCallBack : public IEmptyVolumeCacheCallBack {
  51. private:
  52. protected:
  53. //
  54. // Data
  55. //
  56. ULONG m_cRef; // Reference count
  57. public:
  58. //
  59. //Constructors
  60. //
  61. CVolumeCacheCallBack (void);
  62. ~CVolumeCacheCallBack (void);
  63. //
  64. // IUnknown interface members
  65. //
  66. STDMETHODIMP QueryInterface (REFIID, LPVOID FAR *);
  67. STDMETHODIMP_(ULONG) AddRef (void);
  68. STDMETHODIMP_(ULONG) Release (void);
  69. //
  70. //IEmptyVolumeCacheCallBack interface members
  71. //
  72. STDMETHODIMP ScanProgress(
  73. DWORDLONG dwSpaceUsed,
  74. DWORD dwFlags,
  75. LPCWSTR pszStatus
  76. );
  77. STDMETHODIMP PurgeProgress(
  78. DWORDLONG dwSpaceFreed,
  79. DWORDLONG dwSpaceToFree,
  80. DWORD dwFlags,
  81. LPCWSTR pszStatus
  82. );
  83. void SetCleanupMgrInfo(PVOID pVoid);
  84. void SetCurrentClient(PVOID pVoid);
  85. }; // CVolumeCacheCallBack
  86. typedef CVolumeCacheCallBack *PCVOLUMECACHECALLBACK;
  87. #endif CALLBACK_H
  88. /*
  89. **------------------------------------------------------------------------------
  90. ** End of File
  91. **------------------------------------------------------------------------------
  92. */