119 lines
2 KiB
C++
119 lines
2 KiB
C++
/*++
|
|
|
|
Copyright (c) 2001 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
com.h
|
|
|
|
Abstract:
|
|
|
|
Declares interfaces for our COM objects.
|
|
|
|
Author:
|
|
|
|
Jim Schmidt (jimschm) 21-Feb-2001
|
|
|
|
Revision History:
|
|
|
|
<alias> <date> <comments>
|
|
|
|
--*/
|
|
|
|
#include <emptyvc.h>
|
|
|
|
extern INT g_DllObjects;
|
|
extern INT g_DllLocks;
|
|
|
|
class CUninstallClassFactory : public IClassFactory
|
|
{
|
|
private:
|
|
protected:
|
|
ULONG _References;
|
|
|
|
public:
|
|
//
|
|
// Constructors
|
|
//
|
|
CUninstallClassFactory (VOID);
|
|
~CUninstallClassFactory (VOID);
|
|
|
|
//
|
|
// IUnknown interface members
|
|
//
|
|
STDMETHODIMP QueryInterface (REFIID, PVOID *);
|
|
STDMETHODIMP_(ULONG) AddRef (VOID);
|
|
STDMETHODIMP_(ULONG) Release (VOID);
|
|
|
|
//
|
|
// IClassFactory interface members
|
|
//
|
|
STDMETHODIMP CreateInstance (LPUNKNOWN, REFIID, PVOID *);
|
|
STDMETHODIMP LockServer (BOOL);
|
|
};
|
|
|
|
typedef CUninstallClassFactory *PUNINSTALLCLASSFACTORY;
|
|
|
|
|
|
|
|
class CUninstallDiskCleaner : public IEmptyVolumeCache
|
|
{
|
|
private:
|
|
protected:
|
|
//
|
|
// Data
|
|
//
|
|
ULONG _References;
|
|
BOOL _Purged;
|
|
|
|
public:
|
|
//
|
|
// Constructors
|
|
//
|
|
CUninstallDiskCleaner (VOID);
|
|
~CUninstallDiskCleaner (VOID);
|
|
|
|
//
|
|
// IUnknown interface members
|
|
//
|
|
STDMETHODIMP QueryInterface (REFIID, PVOID *);
|
|
STDMETHODIMP_(ULONG) AddRef (VOID);
|
|
STDMETHODIMP_(ULONG) Release (VOID);
|
|
|
|
//
|
|
// IEmptyVolumeCache interface members
|
|
//
|
|
STDMETHODIMP
|
|
Initialize (
|
|
IN HKEY hRegKey,
|
|
IN PCWSTR Volume,
|
|
OUT PWSTR *DisplayName,
|
|
OUT PWSTR *Description,
|
|
OUT DWORD *Flags
|
|
);
|
|
|
|
STDMETHODIMP
|
|
GetSpaceUsed (
|
|
OUT DWORDLONG *SpaceUsed,
|
|
OUT IEmptyVolumeCacheCallBack *Callback
|
|
);
|
|
|
|
STDMETHODIMP
|
|
Purge (
|
|
IN DWORDLONG SpaceToFree,
|
|
OUT IEmptyVolumeCacheCallBack *Callback
|
|
);
|
|
|
|
STDMETHODIMP
|
|
ShowProperties (
|
|
IN HWND hwnd
|
|
);
|
|
|
|
STDMETHODIMP
|
|
Deactivate (
|
|
OUT DWORD *Flags
|
|
);
|
|
};
|
|
|
|
typedef CUninstallDiskCleaner *PUNINSTALLDISKCLEANER;
|