windows-nt/Source/XPSP1/NT/shell/shell32/recclean.h
2020-09-26 16:20:57 +08:00

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];
};