From db9768f25db649834d6ca87fe35fd76e20807b8b Mon Sep 17 00:00:00 2001 From: Mark Jansen Date: Wed, 12 Apr 2023 23:26:21 +0200 Subject: [PATCH] [PSDK] Add EmptyVC.idl --- sdk/include/psdk/CMakeLists.txt | 1 + sdk/include/psdk/emptyvc.idl | 99 +++++++++++++++++++++++++++++++++ sdk/lib/uuid/CMakeLists.txt | 2 +- 3 files changed, 101 insertions(+), 1 deletion(-) create mode 100644 sdk/include/psdk/emptyvc.idl diff --git a/sdk/include/psdk/CMakeLists.txt b/sdk/include/psdk/CMakeLists.txt index f54a53926f0..9463f9a5c0f 100644 --- a/sdk/include/psdk/CMakeLists.txt +++ b/sdk/include/psdk/CMakeLists.txt @@ -47,6 +47,7 @@ list(APPEND SOURCE drmexternals.idl dxgiformat.idl # dyngraph.idl + emptyvc.idl endpointvolume.idl exdisp.idl fusion.idl diff --git a/sdk/include/psdk/emptyvc.idl b/sdk/include/psdk/emptyvc.idl new file mode 100644 index 00000000000..c4fc54aa848 --- /dev/null +++ b/sdk/include/psdk/emptyvc.idl @@ -0,0 +1,99 @@ +/* + * PROJECT: ReactOS Disk Cleanup + * LICENSE: MIT (https://spdx.org/licenses/MIT) + * PURPOSE: Interface definitions for Disk Cleanup + * COPYRIGHT: Copyright 2023-2025 Mark Jansen + */ + +cpp_quote("#pragma once") + +import "wtypes.idl"; +import "unknwn.idl"; + +interface IEmptyVolumeCache; +interface IEmptyVolumeCache2; +interface IEmptyVolumeCacheCallBack; + + +cpp_quote("// IEmptyVolumeCache flags") +cpp_quote("#define EVCF_HASSETTINGS 0x0001") +cpp_quote("#define EVCF_ENABLEBYDEFAULT 0x0002") +cpp_quote("#define EVCF_REMOVEFROMLIST 0x0004") +cpp_quote("#define EVCF_ENABLEBYDEFAULT_AUTO 0x0008") +cpp_quote("#define EVCF_DONTSHOWIFZERO 0x0010") +cpp_quote("#define EVCF_SETTINGSMODE 0x0020") +cpp_quote("#define EVCF_OUTOFDISKSPACE 0x0040") + +cpp_quote("// IEmptyVolumeCacheCallBack flags") +cpp_quote("#define EVCCBF_LASTNOTIFICATION 0x0001") + + +[ + object, + uuid(6e793361-73c6-11d0-8469-00aa00442901), + pointer_default(unique) +] +interface IEmptyVolumeCacheCallBack: IUnknown +{ + HRESULT ScanProgress( + [in] DWORDLONG dwlSpaceUsed, + [in] DWORD dwFlags, + [in] LPCWSTR pcwszStatus); + + HRESULT PurgeProgress( + [in] DWORDLONG dwlSpaceFreed, + [in] DWORDLONG dwlSpaceToFree, + [in] DWORD dwFlags, + [in] LPCWSTR pcwszStatus); +} + + +[ + object, + uuid(8fce5227-04da-11d1-a004-00805f8abe06), + pointer_default(unique) +] +interface IEmptyVolumeCache: IUnknown +{ + [local] + HRESULT Initialize( + [in] HKEY hkRegKey, + [in] LPCWSTR pcwszVolume, + [out] LPWSTR *ppwszDisplayName, + [out] LPWSTR *ppwszDescription, + [in, out] DWORD *pdwFlags); + + HRESULT GetSpaceUsed( + [out] DWORDLONG *pdwlSpaceUsed, + [in] IEmptyVolumeCacheCallBack *picb); + + HRESULT Purge( + [in] DWORDLONG dwlSpaceToFree, + [in] IEmptyVolumeCacheCallBack *picb); + + HRESULT ShowProperties( + [in] HWND hwnd); + + HRESULT Deactivate( + [out] DWORD *pdwFlags); +} + + +[ + object, + uuid(02b7e3ba-4db3-11d2-b2d9-00c04f8eec8c), + pointer_default(unique) +] +interface IEmptyVolumeCache2: IEmptyVolumeCache +{ + [local] + HRESULT InitializeEx( + [in] HKEY hkRegKey, + [in] LPCWSTR pcwszVolume, + [in] LPCWSTR pcwszKeyName, + [out] LPWSTR *ppwszDisplayName, + [out] LPWSTR *ppwszDescription, + [out] LPWSTR *ppwszBtnText, + [in, out] DWORD *pdwFlags); +} + diff --git a/sdk/lib/uuid/CMakeLists.txt b/sdk/lib/uuid/CMakeLists.txt index c988e1c9764..52f8eb65f16 100644 --- a/sdk/lib/uuid/CMakeLists.txt +++ b/sdk/lib/uuid/CMakeLists.txt @@ -37,7 +37,7 @@ list(APPEND IDL_SOURCES # dxtmsft.idl # dxtrans.idl # dxtransp.idl -# emptyvc.idl + emptyvc.idl exdisp.idl # filter.idl # filtntfy.idl