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 パラメーターを 0 に設定します。ディスク クリーンアップ マネージャーは、その一覧からハンドラーを省略します。
EVCF_ENABLEBYDEFAULT
このフラグを設定すると、クリーンアップ マネージャーの一覧でハンドラーが既定でチェックされます。 ユーザーがハンドラーの [チェック] ボックスをオフにしない限り、ディスク クリーンアップ ユーティリティが実行されるたびに実行されます。 チェック ボックスがクリアされると、ユーザーが再度選択するまでハンドラーは実行されません。
EVCF_ENABLEBYDEFAULT_AUTO
スケジュールされたクリーンアップ中にハンドラーが自動的に実行されるようにするには、このフラグを設定します。 このフラグは、ファイルの削除リスクが低い場合にのみ設定する必要があります。 EVCF_ENABLEBYDEFAULTと同様に、ユーザーは、ディスク クリーンアップ マネージャーの一覧の [チェック] ボックスをオフにすることで、ハンドラーを実行しないことを選択できます。
EVCF_HASSETTINGS
ハンドラーが UI を表示できることを示すには、このフラグを設定します。 単純な UI の例として、削除可能なファイルを表示し、ユーザーが削除するファイルを選択できるリスト ボックスがあります。 ディスク クリーンアップ マネージャーは、クリーンアップ ハンドラーの説明の下にボタンを表示します。 ユーザーがこのボタンをクリックして UI を要求します。 既定のボタン テキストは "Settings" ですが、ハンドラーはレジストリ キーに AdvancedButtonText 値を設定することで別のテキストを指定できます。
EVCF_REMOVEFROMLIST
ディスク クリーンアップ マネージャーの一覧からハンドラーを削除するには、このフラグを設定します。 すべてのレジストリ情報が削除され、キーとその値が復元されるまでハンドラーを再度実行することはできません。 このフラグは、主に 1 回限りのクリーンアップ操作に使用されます。
戻り値
種類: 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 以降) |