Win32 API 日本語リファレンス
ホームUI.LegacyWindowsEnvironmentFeatures › IEmptyVolumeCache

IEmptyVolumeCache

COM
IID8fce5227-04da-11d1-a004-00805f8abe06継承元IUnknown自前メソッド開始 vtbl3

メソッド 5

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT Initialize(HKEY hkRegKey, LPWSTR pcwszVolume, LPWSTR* ppwszDisplayName, LPWSTR* ppwszDescription, EMPTY_VOLUME_CACHE_FLAGS* pdwFlags)
hkRegKeyHKEYinこのクリーンアップハンドラの設定が格納されたレジストリキーのハンドルを指定する。
pcwszVolumeLPWSTRinクリーンアップ対象ボリュームのルートパスを指定する。
ppwszDisplayNameLPWSTR*outユーザーに表示する名前を受け取る(呼び出し側が解放する)。
ppwszDescriptionLPWSTR*out説明文字列を受け取る(呼び出し側が解放する)。
pdwFlagsEMPTY_VOLUME_CACHE_FLAGS*outハンドラの動作を示すフラグ(EMPTY_VOLUME_CACHE_FLAGS)を受け取る。
vtbl 4 HRESULT GetSpaceUsed(ULONGLONG* pdwlSpaceUsed, IEmptyVolumeCacheCallBack* picb)
pdwlSpaceUsedULONGLONG*out解放可能な領域のバイト数を受け取る。
picbIEmptyVolumeCacheCallBack*in走査の進捗を通知するコールバック(IEmptyVolumeCacheCallBack)へのポインタである。NULL 可。
vtbl 5 HRESULT Purge(ULONGLONG dwlSpaceToFree, IEmptyVolumeCacheCallBack* picb)
dwlSpaceToFreeULONGLONGin解放する領域のバイト数を指定する。
picbIEmptyVolumeCacheCallBack*in削除の進捗を通知するコールバック(IEmptyVolumeCacheCallBack)へのポインタである。NULL 可。
vtbl 6 HRESULT ShowProperties(HWND hwnd)
hwndHWNDinプロパティ UI の親ウィンドウハンドルを指定する。
vtbl 7 HRESULT Deactivate(EMPTY_VOLUME_CACHE_FLAGS* pdwFlags)
pdwFlagsEMPTY_VOLUME_CACHE_FLAGS*out非アクティブ化後の動作を示すフラグ(EMPTY_VOLUME_CACHE_FLAGS)を受け取る。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IEmptyVolumeCache "{8FCE5227-04DA-11D1-A004-00805F8ABE06}"
#usecom global IEmptyVolumeCache IID_IEmptyVolumeCache "{}"
#comfunc global IEmptyVolumeCache_Initialize      3 sptr,wstr,var,var,var
#comfunc global IEmptyVolumeCache_GetSpaceUsed    4 var,sptr
#comfunc global IEmptyVolumeCache_Purge           5 int64,sptr
#comfunc global IEmptyVolumeCache_ShowProperties  6 sptr
#comfunc global IEmptyVolumeCache_Deactivate      7 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。