Antarmuka IFileOperation (shobjidl_core.h)
Mengekspos metode untuk menyalin, memindahkan, mengganti nama, membuat, dan menghapus item Shell serta metode untuk memberikan dialog kemajuan dan kesalahan. Antarmuka ini menggantikan fungsi SHFileOperation .
Warisan
Antarmuka IFileOperation mewarisi dari antarmuka IUnknown . IFileOperation juga memiliki jenis anggota ini:
Metode
Antarmuka IFileOperation memiliki metode ini.
IFileOperation::Advise Memungkinkan handler untuk memberikan informasi status dan kesalahan untuk semua operasi. |
IFileOperation::ApplyPropertiesToItem Menyatakan satu item yang nilai propertinya akan diatur. |
IFileOperation::ApplyPropertiesToItems Mendeklarasikan sekumpulan item untuk menerapkan sekumpulan nilai properti umum. |
IFileOperation::CopyItem Menyatakan satu item yang akan disalin ke tujuan tertentu. |
IFileOperation::CopyItems Menyatakan sekumpulan item yang akan disalin ke tujuan tertentu. |
IFileOperation::D eleteItem Menyatakan satu item yang akan dihapus. |
IFileOperation::D eleteItems Menyatakan sekumpulan item yang akan dihapus. |
IFileOperation::GetAnyOperationsAborted Mendapatkan nilai yang menyatakan apakah ada operasi file yang dimulai oleh panggilan ke IFileOperation::P erformOperations dihentikan sebelum selesai. Operasi dapat dihentikan baik oleh tindakan pengguna atau diam-diam oleh sistem. |
IFileOperation::MoveItem Menyatakan satu item yang akan dipindahkan ke tujuan tertentu. |
IFileOperation::MoveItems Menyatakan sekumpulan item yang akan dipindahkan ke tujuan tertentu. |
IFileOperation::NewItem Menyatakan item baru yang akan dibuat di lokasi tertentu. |
IFileOperation::P erformOperations Menjalankan semua operasi yang dipilih. |
IFileOperation::RenameItem Menyatakan satu item yang akan diberi nama tampilan baru. |
IFileOperation::RenameItems Menyatakan sekumpulan item yang akan diberi nama tampilan baru. Semua item diberi nama yang sama. |
IFileOperation::SetOperationFlags Mengatur parameter untuk operasi saat ini. |
IFileOperation::SetOwnerWindow Menyetel jendela induk atau pemilik untuk kemajuan dan jendela dialog. |
IFileOperation::SetProgressDialog Menentukan kotak dialog yang digunakan untuk menampilkan kemajuan operasi. |
IFileOperation::SetProgressMessage Tidak diterapkan. (IFileOperation.SetProgressMessage) |
IFileOperation::SetProperties Menyatakan sekumpulan properti dan nilai yang akan diatur pada item atau item. |
IFileOperation::Unadvise Mengakhiri koneksi nasihat yang sebelumnya dibuat melalui IFileOperation::Advise. |
Keterangan
Item Shell dapat menjadi objek apa pun di namespace layanan, termasuk objek sistem file seperti file dan folder, tetapi juga objek virtual. Dalam topik metode IFileOperation , istilah "item" digunakan untuk merujuk secara umum ke objek namespace layanan apa pun.
IFileOperation menawarkan banyak keuntungan dibandingkan fungsi SHFileOperation yang lebih lama.
- Penggunaan IShellItem untuk mengidentifikasi item daripada jalur string. SHFileOperation memerlukan jalur dan string tujuan untuk mengakhiri dua karakter null daripada karakter null tunggal standar, yang digunakan untuk memisahkan beberapa jalur dalam string. Mengidentifikasi item melalui IShellItem lebih kuat dan kurang rentan terhadap kesalahan pemrograman. Ini juga memungkinkan Anda untuk mengakses item sistem non-file seperti folder virtual. Beberapa item dalam satu operasi dapat diteruskan sebagai IShellItemArray, IDataObject, atau koleksi yang diakses melalui IEnumShellItems daripada sebagai string.
- Pelaporan kesalahan yang lebih akurat melalui nilai HRESULT bersama dengan API seperti FormatMessage. Mengembalikan kode dari SHFileOperation bisa menyesatkan atau tidak akurat.
- Perpanjangan. Sebagai antarmuka Model Objek Komponen (COM), IFileOperation dapat memiliki kemampuannya yang diperluas oleh pihak ketiga untuk memenuhi kebutuhan spesifik mereka, meskipun ini harus menjadi kasus yang sangat jarang terjadi. Windows menyediakan implementasi default IFileOperation yang harus memenuhi kebutuhan sebagian besar pengguna.
- Umpan balik kemajuan yang lebih baik. Kemajuan operasi terperinci, termasuk pemberitahuan ketika operasi tertentu dimulai dan berakhir pada masing-masing item serta kemajuan keseluruhan, dapat diterima selama operasi. Sementara SHFileOperation memberikan UI kemajuan, itu tidak sedetail itu.
- Fungsionalitas lainnya. Selain fungsionalitas salin, hapus, pindahkan, dan ganti nama yang disediakan oleh SHFileOperation, IFileOperation memungkinkan Anda menerapkan nilai properti dan membuat item baru.
- Kontrol lebih atas operasi. Selain bendera operasi yang dikenali oleh SHFileOperation, bendera baru dikenali dalam IFileOperation::SetOperationFlags yang menentukan opsi operasi yang diperluas.
- Operasi yang berbeda dapat dilakukan dalam satu panggilan. Misalnya, Anda dapat memindahkan sekumpulan file, menyalin yang lain, mengganti nama folder, dan menerapkan properti ke item lain semuanya dalam satu operasi. SHFileOperation hanya dapat melakukan satu operasi—menyalin, memindahkan, mengganti nama, atau menghapus—pada satu waktu.
- Opsional. Siapkan sink peristiwa untuk status kemajuan dan pemberitahuan kesalahan melalui Saran dan Tidak Diawasi.
- Atur status operasi menggunakan yang berikut ini sesuai kebutuhan:
- Tentukan operasi mana yang akan dilakukan pada item mana yang menggunakan berikut ini sesuai kebutuhan.
- Jalankan operasi dengan memanggil PerformOperations
Sampel lengkap yang menunjukkan ekstensi IFileOperation disertakan dalam Windows Software Development Kit (SDK). Dalam penginstalan default, dapat ditemukan di %ProgramFiles%\Microsoft SDKs\Windows\v6.0\Samples\WinUI\Shell\AppPlatform\FileOperations.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | shobjidl_core.h (termasuk Shobjidl.h) |