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.

118 lines
2.2 KiB

  1. /*++
  2. Copyright (c) 2001 Microsoft Corporation
  3. Module Name:
  4. com.h
  5. Abstract:
  6. Declares interfaces for our COM objects.
  7. Author:
  8. Jim Schmidt (jimschm) 21-Feb-2001
  9. Revision History:
  10. <alias> <date> <comments>
  11. --*/
  12. #include <emptyvc.h>
  13. extern INT g_DllObjects;
  14. extern INT g_DllLocks;
  15. class CUninstallClassFactory : public IClassFactory
  16. {
  17. private:
  18. protected:
  19. ULONG _References;
  20. public:
  21. //
  22. // Constructors
  23. //
  24. CUninstallClassFactory (VOID);
  25. ~CUninstallClassFactory (VOID);
  26. //
  27. // IUnknown interface members
  28. //
  29. STDMETHODIMP QueryInterface (REFIID, PVOID *);
  30. STDMETHODIMP_(ULONG) AddRef (VOID);
  31. STDMETHODIMP_(ULONG) Release (VOID);
  32. //
  33. // IClassFactory interface members
  34. //
  35. STDMETHODIMP CreateInstance (LPUNKNOWN, REFIID, PVOID *);
  36. STDMETHODIMP LockServer (BOOL);
  37. };
  38. typedef CUninstallClassFactory *PUNINSTALLCLASSFACTORY;
  39. class CUninstallDiskCleaner : public IEmptyVolumeCache
  40. {
  41. private:
  42. protected:
  43. //
  44. // Data
  45. //
  46. ULONG _References;
  47. BOOL _Purged;
  48. public:
  49. //
  50. // Constructors
  51. //
  52. CUninstallDiskCleaner (VOID);
  53. ~CUninstallDiskCleaner (VOID);
  54. //
  55. // IUnknown interface members
  56. //
  57. STDMETHODIMP QueryInterface (REFIID, PVOID *);
  58. STDMETHODIMP_(ULONG) AddRef (VOID);
  59. STDMETHODIMP_(ULONG) Release (VOID);
  60. //
  61. // IEmptyVolumeCache interface members
  62. //
  63. STDMETHODIMP
  64. Initialize (
  65. IN HKEY hRegKey,
  66. IN PCWSTR Volume,
  67. OUT PWSTR *DisplayName,
  68. OUT PWSTR *Description,
  69. OUT DWORD *Flags
  70. );
  71. STDMETHODIMP
  72. GetSpaceUsed (
  73. OUT DWORDLONG *SpaceUsed,
  74. OUT IEmptyVolumeCacheCallBack *Callback
  75. );
  76. STDMETHODIMP
  77. Purge (
  78. IN DWORDLONG SpaceToFree,
  79. OUT IEmptyVolumeCacheCallBack *Callback
  80. );
  81. STDMETHODIMP
  82. ShowProperties (
  83. IN HWND hwnd
  84. );
  85. STDMETHODIMP
  86. Deactivate (
  87. OUT DWORD *Flags
  88. );
  89. };
  90. typedef CUninstallDiskCleaner *PUNINSTALLDISKCLEANER;