IEmptyVolumeCache::Initialize 方法 (emptyvc.h)
根據儲存在指定登錄機碼下的資訊,初始化磁片清除處理常式。
語法
HRESULT Initialize(
[in] HKEY hkRegKey,
[in] LPCWSTR pcwszVolume,
[out] LPWSTR *ppwszDisplayName,
[out] LPWSTR *ppwszDescription,
[in, out] DWORD *pdwFlags
);
參數
[in] hkRegKey
類型: HKEY
保存處理常式物件相關資訊之登錄機碼的控制碼。
[in] pcwszVolume
類型: LPCWSTR
具有磁片區根目錄之 Null 終止 Unicode 字串的指標,例如 「C:」。
[out] ppwszDisplayName
類型: LPWSTR*
以名稱顯示于磁片清除管理員處理常式清單中之 Null 終止 Unicode 字串的指標。 如果未指派任何值,則會使用登錄值。
[out] ppwszDescription
類型: LPWSTR*
當從磁片清理管理員的可用磁片清除處理常式清單中選取此物件時,將會顯示之 Null 終止 Unicode 字串的指標。 如果未指派任何值,則會使用登錄值。
[in, out] pdwFlags
類型: DWORD*
用來將資訊傳遞至處理常式的旗標,並傳回磁片清除管理員。
這些旗標可以傳入 物件:
EVCF_OUTOFDISKSPACE
如果設定此旗標,使用者就不在磁片磁碟機上的磁碟空間。 收到此旗標時,處理常式應該積極釋放磁碟空間,即使造成效能遺失也一樣。 不過,處理常式不應該刪除會導致應用程式失敗的檔案,或使用者遺失資料。
EVCF_SETTINGSMODE
如果磁片清理管理員正在依排程執行,則會設定此旗標。 您必須將值指派給 ppwszDisplayName 和 ppwszDescription 參數。 如果設定此旗標,磁片清除管理員將不會呼叫 IEmptyVolumeCache::GetSpaceUsed、 IEmptyVolumeCache::P urge或 IEmptyVolumeCache::ShowProperties。 因為不會呼叫 IEmptyVolumeCache::P urge ,所以必須由 IEmptyVolumeCache::Initialize處理清除。 處理常式應該忽略 pcwszVolume 參數,並清除任何不需要的檔案,而不論它們位於哪個磁片磁碟機上。 因為使用者意見反應沒有機會,所以應該只接觸最安全清除的檔案。
處理常式可以將這些旗標傳回磁片清除管理員:
EVCF_DONTSHOWIFZERO
如果沒有要刪除的檔案,請設定此旗標。 呼叫 IEmptyVolumeCache::GetSpaceUsed 時,請將 pdwSpaceUsed 參數設定為零,而磁片清除管理員會從其清單中省略處理常式。
EVCF_ENABLEBYDEFAULT
將此旗標設定為在清除管理員清單中預設檢查處理程式。 除非使用者清除處理常式的核取方塊,否則每次執行磁片清理公用程式時都會執行。 清除核取方塊之後,除非使用者再次選取處理常式,否則不會執行處理常式。
EVCF_ENABLEBYDEFAULT_AUTO
將此旗標設定為讓處理常式在排程清除期間自動執行。 只有在刪除檔案為低風險時,才應該設定此旗標。 如同 EVCF_ENABLEBYDEFAULT,使用者可以選擇不要在磁片清理管理員清單中清除其核取方塊來執行處理常式。
EVCF_HASSETTINGS
設定此旗標,指出處理常式可以顯示 UI。 簡單 UI 的範例是顯示可刪除檔案的清單方塊,並允許使用者選取要刪除的檔案。 磁片清理管理員接著會顯示清除處理常式描述下方的按鈕。 使用者按一下此按鈕以要求 UI。 預設按鈕文字為 「設定」,但處理常式可以在其登錄機碼中設定 AdvancedButtonText 值來指定不同的文字。
EVCF_REMOVEFROMLIST
設定此旗標,以從磁片清除管理員清單中移除處理常式。 所有登錄資訊都會遭到刪除,而且在還原機碼和其值之前,處理常式將無法再次執行。 此旗標主要用於一次性清除作業。
傳回值
類型: HRESULT
這個方法可以傳回下列其中一個值。
傳回碼 | 描述 |
---|---|
|
成功。 |
|
沒有要刪除的檔案。 |
|
清除作業已提前結束。 |
|
清除作業失敗。 |
備註
Windows 98 磁片清理管理員會使用這個方法。 Windows 2000 使用IEmptyVolumeCache2匯出的InitializeEx方法。
使用 CoTaskMemAlloc 為透過 ppwszDisplayName 和 ppwszDescription傳回的字串配置記憶體。 當不再需要記憶體時,磁片清除管理員將會釋放記憶體。
需求
最低支援的用戶端 | Windows 2000 Professional、Windows XP [僅限桌面應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | emptyvc.h |
Dll | Shell32.dll (5.0 版或更新版本) |