Urutan Komitmen Antrean

Ketika fungsi SetupCommitFileQueue menerapkan antrean file, fungsi ini memproses operasi file dalam urutan berikut: operasi penghapusan file, lalu operasi penggantian nama file, dan akhirnya, operasi penyalinan file. Kerangka berikut mengilustrasikan siklus hidup proses komitmen antrean.

 

  • mulai sub-antrean penghapusan
    • mulai operasi penghapusan file <-- ulangi untuk masing-masing
    • menyelesaikan operasi penghapusan file <-- penghapusan file antrean
  • menyelesaikan sub-antrean penghapusan
  • mulai penggantian nama sub-antrean
    • mulai operasi ganti nama file <-- ulangi untuk masing-masing
    • menyelesaikan operasi penghapusan file <-- mengganti nama file yang diantrekan
  • selesaikan penggantian nama sub-antrean
  • mulai subkueri salin
    • mulai operasi penyalinan file <-- ulangi untuk masing-masing
    • menyelesaikan operasi penyalinan file <-- salinan file antrean
    • menyelesaikan sub-antrean salin
  • menyelesaikan antrean

 

Pada setiap langkah, atau jika terjadi kesalahan, fungsiSetupCommitFileQueuemengirimkan pemberitahuan ke rutinitas panggilan balik. Rutinitas panggilan balik dapat menggunakan informasi yang dikirim oleh antrean untuk melacak kemajuan penginstalan dan, jika perlu, berinteraksi dengan pengguna.

Misalnya, jika operasi penyalinan file memerlukan file sumber yang tidak tersedia di jalur saat ini, SetupCommitFileQueue akan mengirim pemberitahuan SPFILENOTIFY_NEEDMEDIA ke rutinitas panggilan balik, bersama dengan informasi tentang file dan media yang diperlukan. Rutinitas panggilan balik dapat menggunakan informasi ini untuk menghasilkan kotak dialog yang meminta pengguna untuk menyisipkan disk berikutnya dengan memanggil SetupPromptForDisk

Rutinitas panggilan balik antrean default, SetupDefaultQueueCallback, disertakan dengan API Penyiapan. Rutinitas ini menangani pemberitahuan antrean dan menghasilkan kotak dialog kesalahan dan bilah kemajuan untuk penginstalan. Anda dapat menggunakan rutinitas panggilan balik antrean default apa adanya, atau menulis rutinitas panggilan balik filter untuk menangani subset pemberitahuan dan meneruskan yang lain ke rutinitas panggilan balik antrean default.

Jika tidak ada fungsionalitas rutin panggilan balik yang sesuai dengan kebutuhan Anda, Anda dapat menulis rutinitas panggilan balik kustom mandiri yang tidak memanggil rutinitas panggilan balik antrean default.

Untuk informasi selengkapnya tentang rutinitas panggilan balik antrean, lihat Rutinitas Panggilan Balik Antrean Default, dan Membuat Rutinitas Panggilan Balik Antrean Kustom.