IEmptyVolumeCache2::InitializeEx メソッド (emptyvc.h)
ディスク クリーンアップ ハンドラーを初期化します。 初期化よりもローカライズのサポートが優れています。
構文
HRESULT InitializeEx(
[in] HKEY hkRegKey,
[in] LPCWSTR pcwszVolume,
[in] LPCWSTR pcwszKeyName,
[out] LPWSTR *ppwszDisplayName,
[out] LPWSTR *ppwszDescription,
[out] LPWSTR *ppwszBtnText,
[in, out] DWORD *pdwFlags
);
パラメーター
[in] hkRegKey
種類: HKEY
ハンドラー オブジェクトに関する情報を保持するレジストリ キーへのハンドル。
[in] pcwszVolume
種類: LPCWSTR
ボリューム ルートを持つ null で終わる Unicode 文字列へのポインター ("C:" など)。
[in] pcwszKeyName
種類: LPCWSTR
ハンドラーのレジストリ キーの名前を持つ null で終わる Unicode 文字列へのポインター。
[out] ppwszDisplayName
種類: LPWSTR*
ディスク クリーンアップ マネージャーのハンドラーの一覧に表示される名前を持つ null で終わる Unicode 文字列へのポインター。 このパラメーターに値を割り当てる必要があります。
[out] ppwszDescription
種類: LPWSTR*
ディスク クリーンアップ マネージャーの使用可能なディスク クリーナーの一覧からこのオブジェクトが選択されたときに表示される null で終わる Unicode 文字列へのポインター。 このパラメーターに値を割り当てる必要があります。
[out] ppwszBtnText
種類: LPWSTR*
ディスク クリーンアップ マネージャーの [設定] ボタンに表示されるテキストを含む、null で終わる Unicode 文字列へのポインター。 EVCF_HASSETTINGS フラグが設定されている場合は、ppwszBtnText に値を割り当てる必要があります。 それ以外の場合は、 NULL に設定できます。
[in, out] pdwFlags
種類: DWORD*
ハンドラーに情報を渡し、ディスク クリーンアップ マネージャーに戻すために使用されるフラグ。
これらのフラグは、 オブジェクトに渡すことができます。
EVCF_OUTOFDISKSPACE
このフラグが設定されている場合、ユーザーはドライブのディスク領域を使い切ります。 このフラグを受信すると、パフォーマンスが低下した場合でも、ハンドラーはディスク領域の解放に対して積極的である必要があります。 ただし、ハンドラーは、アプリケーションが失敗したり、ユーザーがデータを失ったりする原因となるファイルを削除しないでください。
EVCF_SETTINGSMODE
ディスク クリーンアップ マネージャーがスケジュールに従って実行されている場合は、 EVCF_SETTINGSMODE フラグが設定されます。 ppwszDisplayName パラメーターと ppwszDescription パラメーターに値を割り当てる必要があります。 このフラグが設定されている場合、ディスク クリーンアップ マネージャーは GetSpaceUsed、 Purge、または ShowProperties を呼び出しません。 Purge は呼び出されないため、クリーンアップは InitializeEx で処理する必要があります。 ハンドラーは、pcwszVolume パラメーターを無視し、不要なファイルがオンになっているドライブに関係なくクリーンする必要があります。 ユーザーからのフィードバックを受ける機会がないため、クリーンしても非常に安全なファイルにのみ触れる必要があります。
これらのフラグは、ハンドラーによってディスク クリーンアップ マネージャーに戻すことができます。
EVCF_DONTSHOWIFZERO
削除するファイルがない場合は、このフラグを設定します。 GetSpaceUsed が呼び出されたら、pdwSpaceUsed パラメーターを 0 に設定します。ディスク クリーンアップ マネージャーでは、一覧からハンドラーが省略されます。
EVCF_ENABLEBYDEFAULT
このフラグを設定すると、ハンドラーがディスク クリーンアップ マネージャーの一覧で既定でチェックされます。 ユーザーがハンドラーの [チェック] ボックスをオフにしない限り、ハンドラーはディスク クリーンアップ ユーティリティを実行するたびに実行されます。 チェック ボックスがクリアされると、ユーザーが再度選択するまでハンドラーは実行されません。
EVCF_ENABLEBYDEFAULT_AUTO
スケジュールされたクリーンアップ中にハンドラーが自動的に実行されるようにするには、このフラグを設定します。 このフラグは、ファイルの削除リスクが低い場合にのみ設定する必要があります。 EVCF_ENABLEBYDEFAULTと同様に、ユーザーは、ディスク クリーンアップ マネージャーの一覧の [チェック] ボックスをオフにすることで、ハンドラーを実行しないことを選択できます。
EVCF_HASSETTINGS
ハンドラーが UI を表示できることを示すには、このフラグを設定します。 単純な UI の例として、削除可能なファイルを表示し、ユーザーが削除するファイルを選択できるリスト ボックスがあります。 ディスク クリーンアップ マネージャーは、クリーンアップ ハンドラーの説明の下にボタンを表示します。 ユーザーがこのボタンをクリックして UI を要求します。 ボタンのテキストを指定するには、 ppwszBtnText パラメーターを使用します。
EVCF_REMOVEFROMLIST
ディスク クリーンアップ マネージャーの一覧からハンドラーを削除するには、このフラグを設定します。 すべてのレジストリ情報が削除され、キーとその値が復元されるまでハンドラーを再度実行することはできません。 このフラグは、主に 1 回限りのクリーンアップ操作に使用されます。
戻り値
種類: HRESULT
このメソッドは、これらの値のいずれかを返すことができます。
リターン コード | 説明 |
---|---|
|
成功しました。 |
|
削除するファイルはありません。 |
|
クリーンアップ操作が途中で終了しました。 |
|
クリーンアップ操作が失敗しました。 |
注釈
Windows 2000 ディスク クリーンアップ マネージャーは、最初に IEmptyVolumeCache2::InitializeEx を呼び出してディスク クリーンアップ ハンドラーを初期化します。 これは、IEmptyVolumeCache2 インターフェイスが実装されていない場合にのみ Initialize を呼び出します。 Windows 98 ディスク クリーンアップ マネージャーでは 、Initialize のみがサポートされています。
InitializeEx は、 Initialize よりも適切なローカライズサポートを提供することを目的としています。 InitializeEx が呼び出されると、ハンドラー アプリケーションは ppwszDisplayName パラメーターと ppwszDescription パラメーターに適切にローカライズされた値を割り当てる必要があります。 [設定] ボタンが有効になっている場合は、ppwszBtnText パラメーターにも値を割り当てる必要があります。 Initialize とは異なり、これらの文字列を NULL に設定して、レジストリから既定値を取得するようにディスク クリーンアップ マネージャーに通知すると、InitializeEx は失敗します。
CoTaskMemAlloc を使用して、ppwszDisplayName、ppwszDescription、および ppwszBtnText を介して返される文字列のメモリを割り当てます。 ディスク クリーンアップ マネージャーは、不要になったときにメモリを解放します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional、Windows XP [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | emptyvc.h |
[DLL] | Shell32.dll (バージョン 5.0 以降) |