40 lines
1.3 KiB
C++
40 lines
1.3 KiB
C++
class CRecycleBinCleaner : public IEmptyVolumeCache2
|
|
{
|
|
public:
|
|
CRecycleBinCleaner();
|
|
~CRecycleBinCleaner();
|
|
|
|
// IUnknown methods
|
|
|
|
STDMETHODIMP QueryInterface(REFIID riid, PVOID *ppvObj);
|
|
STDMETHODIMP_(ULONG) AddRef(void);
|
|
STDMETHODIMP_(ULONG) Release(void);
|
|
|
|
// IEmptyVolumeCache
|
|
STDMETHODIMP Initialize(HKEY hRegKey, LPCWSTR pszVolume,
|
|
LPWSTR *ppszDisplayName, LPWSTR *ppszDescription,
|
|
DWORD *pdwFlags);
|
|
|
|
STDMETHODIMP GetSpaceUsed(DWORDLONG *pdwSpaceUsed, IEmptyVolumeCacheCallBack *picb);
|
|
|
|
STDMETHODIMP Purge(DWORDLONG dwSpaceToFree, IEmptyVolumeCacheCallBack *picb);
|
|
|
|
|
|
STDMETHODIMP ShowProperties(HWND hwnd);
|
|
|
|
STDMETHODIMP Deactivate(DWORD *pdwFlags);
|
|
|
|
// IEmptyVolumeCache2
|
|
STDMETHODIMP InitializeEx(HKEY hkRegKey, LPCWSTR pcwszVolume,
|
|
LPCWSTR pcwszKeyName,
|
|
LPWSTR *ppwszDisplayName, LPWSTR *ppwszDescription,
|
|
LPWSTR *ppwszBtnText,
|
|
DWORD *pdwFlags);
|
|
|
|
private:
|
|
ULONG m_cRef;
|
|
WCHAR m_szVolume[5];
|
|
};
|
|
|
|
|