Bagikan melalui


Metode IEmptyVolumeCache2::InitializeEx (emptyvc.h)

Menginisialisasi penangan pembersihan disk. Ini memberikan dukungan yang lebih baik untuk pelokalan daripada Inisialisasi.

Sintaks

HRESULT InitializeEx(
  [in]      HKEY    hkRegKey,
  [in]      LPCWSTR pcwszVolume,
  [in]      LPCWSTR pcwszKeyName,
  [out]     LPWSTR  *ppwszDisplayName,
  [out]     LPWSTR  *ppwszDescription,
  [out]     LPWSTR  *ppwszBtnText,
  [in, out] DWORD   *pdwFlags
);

Parameter

[in] hkRegKey

Jenis: HKEY

Handel ke kunci registri yang menyimpan informasi tentang objek handler.

[in] pcwszVolume

Jenis: LPCWSTR

Penunjuk ke string Unicode yang dihentikan null dengan akar volume—misalnya, "C:".

[in] pcwszKeyName

Jenis: LPCWSTR

Penunjuk ke string Unicode yang dihentikan null dengan nama kunci registri handler.

[out] ppwszDisplayName

Jenis: LPWSTR*

Penunjuk ke string Unicode yang dihentikan null dengan nama yang akan ditampilkan dalam daftar handler manajer pembersihan disk. Anda harus menetapkan nilai ke parameter ini.

[out] ppwszDescription

Jenis: LPWSTR*

Penunjuk ke string Unicode yang dihentikan null yang akan ditampilkan ketika objek ini dipilih dari daftar pembersih disk yang tersedia dari manajer pembersih disk yang tersedia. Anda harus menetapkan nilai ke parameter ini.

[out] ppwszBtnText

Jenis: LPWSTR*

Penunjuk ke string Unicode yang dihentikan null dengan teks yang akan ditampilkan pada tombol Pengaturan manajer pembersihan disk. Jika bendera EVCF_HASSETTINGS diatur, Anda harus menetapkan nilai ke ppwszBtnText. Jika tidak, Anda dapat mengaturnya ke NULL.

[in, out] pdwFlags

Jenis: DWORD*

Bendera yang digunakan untuk meneruskan informasi ke handler, dan kembali ke manajer pembersihan disk.

Bendera ini dapat diteruskan ke objek :

EVCF_OUTOFDISKSPACE

Jika bendera ini diatur, pengguna kehabisan ruang disk pada drive. Ketika bendera ini diterima, handler harus agresif tentang mengosongkan ruang disk, bahkan jika mengalihkan performa. Namun, handler tidak boleh menghapus file yang akan menyebabkan aplikasi gagal, atau pengguna kehilangan data.

EVCF_SETTINGSMODE

Jika manajer pembersihan disk dijalankan sesuai jadwal, manajer pembersihan disk akan mengatur bendera EVCF_SETTINGSMODE . Anda harus menetapkan nilai ke parameter ppwszDisplayName dan ppwszDescription . Jika bendera ini diatur, manajer pembersihan disk tidak akan memanggil GetSpaceUsed, Purge, atau ShowProperties. Karena Pembersihan tidak akan dipanggil, pembersihan harus ditangani oleh InitializeEx. Handler harus mengabaikan parameter pcwszVolume dan membersihkan file yang tidak diperlukan terlepas dari drive apa yang mereka gunakan. Karena tidak ada kesempatan untuk umpan balik pengguna, hanya file-file yang sangat aman untuk dibersihkan yang harus disentuh.

Bendera ini dapat diteruskan oleh handler kembali ke manajer pembersihan disk:

EVCF_DONTSHOWIFZERO

Atur bendera ini ketika tidak ada file yang akan dihapus. Ketika GetSpaceUsed dipanggil , atur parameter pdwSpaceUsed ke nol, dan manajer pembersihan disk akan menghilangkan handler dari daftarnya.

EVCF_ENABLEBYDEFAULT

Atur bendera ini agar handler diperiksa secara default dalam daftar manajer pembersihan disk. Handler akan dijalankan setiap kali utilitas pembersihan disk berjalan, kecuali pengguna menghapus kotak centang handler. Setelah kotak centang dikosongkan, handler tidak akan dijalankan sampai pengguna memilihnya lagi.

EVCF_ENABLEBYDEFAULT_AUTO

Atur bendera ini agar handler berjalan secara otomatis selama pembersihan terjadwal. Bendera ini hanya boleh diatur ketika penghapusan file berisiko rendah. Seperti halnya EVCF_ENABLEBYDEFAULT, pengguna dapat memilih untuk tidak menjalankan handler dengan mengosongkan kotak centangnya di daftar manajer pembersihan disk.

EVCF_HASSETTINGS

Atur bendera ini untuk menunjukkan bahwa handler dapat menampilkan UI. Contoh antarmuka pengguna sederhana adalah kotak daftar yang menampilkan file yang dapat dihapus dan memungkinkan pengguna untuk memilih mana yang akan dihapus. Manajer pembersihan disk kemudian akan menampilkan tombol di bawah deskripsi handler pembersihan. Pengguna mengklik tombol ini untuk meminta UI. Gunakan parameter ppwszBtnText untuk menentukan teks tombol.

EVCF_REMOVEFROMLIST

Atur bendera ini untuk menghapus handler dari daftar manajer pembersihan disk. Semua informasi registri akan dihapus, dan handler tidak dapat dijalankan lagi hingga kunci dan nilainya dipulihkan. Bendera ini digunakan terutama untuk operasi pembersihan satu kali.

Mengembalikan nilai

Jenis: HRESULT

Metode ini dapat mengembalikan salah satu nilai ini.

Menampilkan kode Deskripsi
S_OK
Berhasil.
S_FALSE
Tidak ada file yang akan dihapus.
E_ABORT
Operasi pembersihan berakhir sebelum waktunya.
E_FAIL
Operasi pembersihan gagal.

Keterangan

Manajer pembersihan disk Windows 2000 akan terlebih dahulu memanggil IEmptyVolumeCache2::InitializeEx untuk menginisialisasi handler pembersihan disk. Ini hanya akan memanggil Inisialisasi jika antarmuka IEmptyVolumeCache2 tidak diimplementasikan. Manajer pembersihan disk Windows 98 hanya mendukung Inisialisasi.

InitializeEx dimaksudkan untuk memberikan dukungan pelokalan yang lebih baik daripada Inisialisasi. Ketika InitializeEx dipanggil, aplikasi handler harus menetapkan nilai yang dilokalkan dengan tepat ke parameter ppwszDisplayName dan ppwszDescription . Jika tombol Pengaturan diaktifkan, Anda juga harus menetapkan nilai ke parameter ppwszBtnText . Tidak seperti Inisialisasi, jika Anda mengatur string ini ke NULL untuk memberi tahu manajer pembersihan disk untuk mengambil nilai default dari registri, InitializeEx akan gagal.

Gunakan CoTaskMemAlloc untuk mengalokasikan memori untuk string yang dikembalikan melalui ppwszDisplayName, ppwszDescription, dan ppwszBtnText. Manajer pembersihan disk akan membebaskan memori ketika tidak lagi diperlukan.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional, Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header emptyvc.h
DLL Shell32.dll (versi 5.0 atau yang lebih baru)