Reactos
at master 99 lines 2.5 kB view raw
1/* 2 * PROJECT: ReactOS Disk Cleanup 3 * LICENSE: MIT (https://spdx.org/licenses/MIT) 4 * PURPOSE: Interface definitions for Disk Cleanup 5 * COPYRIGHT: Copyright 2023-2025 Mark Jansen <mark.jansen@reactos.org> 6 */ 7 8cpp_quote("#pragma once") 9 10import "wtypes.idl"; 11import "unknwn.idl"; 12 13interface IEmptyVolumeCache; 14interface IEmptyVolumeCache2; 15interface IEmptyVolumeCacheCallBack; 16 17 18cpp_quote("// IEmptyVolumeCache flags") 19cpp_quote("#define EVCF_HASSETTINGS 0x0001") 20cpp_quote("#define EVCF_ENABLEBYDEFAULT 0x0002") 21cpp_quote("#define EVCF_REMOVEFROMLIST 0x0004") 22cpp_quote("#define EVCF_ENABLEBYDEFAULT_AUTO 0x0008") 23cpp_quote("#define EVCF_DONTSHOWIFZERO 0x0010") 24cpp_quote("#define EVCF_SETTINGSMODE 0x0020") 25cpp_quote("#define EVCF_OUTOFDISKSPACE 0x0040") 26 27cpp_quote("// IEmptyVolumeCacheCallBack flags") 28cpp_quote("#define EVCCBF_LASTNOTIFICATION 0x0001") 29 30 31[ 32 object, 33 uuid(6e793361-73c6-11d0-8469-00aa00442901), 34 pointer_default(unique) 35] 36interface IEmptyVolumeCacheCallBack: IUnknown 37{ 38 HRESULT ScanProgress( 39 [in] DWORDLONG dwlSpaceUsed, 40 [in] DWORD dwFlags, 41 [in] LPCWSTR pcwszStatus); 42 43 HRESULT PurgeProgress( 44 [in] DWORDLONG dwlSpaceFreed, 45 [in] DWORDLONG dwlSpaceToFree, 46 [in] DWORD dwFlags, 47 [in] LPCWSTR pcwszStatus); 48} 49 50 51[ 52 object, 53 uuid(8fce5227-04da-11d1-a004-00805f8abe06), 54 pointer_default(unique) 55] 56interface IEmptyVolumeCache: IUnknown 57{ 58 [local] 59 HRESULT Initialize( 60 [in] HKEY hkRegKey, 61 [in] LPCWSTR pcwszVolume, 62 [out] LPWSTR *ppwszDisplayName, 63 [out] LPWSTR *ppwszDescription, 64 [in, out] DWORD *pdwFlags); 65 66 HRESULT GetSpaceUsed( 67 [out] DWORDLONG *pdwlSpaceUsed, 68 [in] IEmptyVolumeCacheCallBack *picb); 69 70 HRESULT Purge( 71 [in] DWORDLONG dwlSpaceToFree, 72 [in] IEmptyVolumeCacheCallBack *picb); 73 74 HRESULT ShowProperties( 75 [in] HWND hwnd); 76 77 HRESULT Deactivate( 78 [out] DWORD *pdwFlags); 79} 80 81 82[ 83 object, 84 uuid(02b7e3ba-4db3-11d2-b2d9-00c04f8eec8c), 85 pointer_default(unique) 86] 87interface IEmptyVolumeCache2: IEmptyVolumeCache 88{ 89 [local] 90 HRESULT InitializeEx( 91 [in] HKEY hkRegKey, 92 [in] LPCWSTR pcwszVolume, 93 [in] LPCWSTR pcwszKeyName, 94 [out] LPWSTR *ppwszDisplayName, 95 [out] LPWSTR *ppwszDescription, 96 [out] LPWSTR *ppwszBtnText, 97 [in, out] DWORD *pdwFlags); 98} 99