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::GetSpaceUsedIEmptyVolumeCache::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

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

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

解説

この方法は、Windows 98 ディスク クリーンアップ マネージャーによって使用されます。 Windows 2000 では、IEmptyVolumeCache2 によってエクスポートされた InitializeEx メソッドが使用されます。

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

要件

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