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 パラメーターに値を割り当てる必要があります。 このフラグが設定されている場合、ディスク クリーンアップ マネージャーは GetSpaceUsedPurge、または 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

このメソッドは、これらの値のいずれかを返すことができます。

リターン コード 説明
S_OK
成功しました。
S_FALSE
削除するファイルはありません。
E_ABORT
クリーンアップ操作が途中で終了しました。
E_FAIL
クリーンアップ操作が失敗しました。

注釈

Windows 2000 ディスク クリーンアップ マネージャーは、最初に IEmptyVolumeCache2::InitializeEx を呼び出してディスク クリーンアップ ハンドラーを初期化します。 これは、IEmptyVolumeCache2 インターフェイスが実装されていない場合にのみ Initialize を呼び出します。 Windows 98 ディスク クリーンアップ マネージャーでは 、Initialize のみがサポートされています。

InitializeEx は、 Initialize よりも適切なローカライズサポートを提供することを目的としています。 InitializeEx が呼び出されると、ハンドラー アプリケーションは ppwszDisplayName パラメーターと ppwszDescription パラメーターに適切にローカライズされた値を割り当てる必要があります。 [設定] ボタンが有効になっている場合は、ppwszBtnText パラメーターにも値を割り当てる必要があります。 Initialize とは異なり、これらの文字列を NULL に設定して、レジストリから既定値を取得するようにディスク クリーンアップ マネージャーに通知すると、InitializeEx は失敗します。

CoTaskMemAlloc を使用して、ppwszDisplayNameppwszDescription、および ppwszBtnText を介して返される文字列のメモリを割り当てます。 ディスク クリーンアップ マネージャーは、不要になったときにメモリを解放します。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional、Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー emptyvc.h
[DLL] Shell32.dll (バージョン 5.0 以降)