Bagikan melalui


Urutan Surprise-Removal

Jika pengguna menghapus perangkat tanpa peringatan, hanya dengan mencopotnya tanpa menggunakan Manajer Perangkat atau utilitas Perangkat Keras Dengan Aman, perangkat dianggap "dihapus secara mendadak." Ketika ini terjadi, kerangka kerja mengikuti urutan penghapusan yang sedikit berbeda. Ini juga mengikuti urutan penghapusan kejutan jika driver lain memanggil IoInvalidateDeviceState pada perangkat, bahkan jika perangkat masih ada secara fisik. Dalam urutan penghapusan kejutan, kerangka kerja memanggil panggilan balik EvtDeviceSurpriseRemoval sebelum memanggil panggilan balik lainnya dalam urutan penghapusan. Ketika urutan selesai, kerangka kerja menghancurkan objek perangkat. Driver untuk semua perangkat yang dapat dilepas harus memastikan bahwa panggilan balik di jalur pematian dan startup dapat menangani kegagalan, terutama kegagalan yang disebabkan oleh penghapusan perangkat keras. Setiap upaya untuk mengakses perangkat keras tidak boleh menunggu tanpa batas waktu, tetapi harus tunduk pada waktu habis atau timer pengawas.

Diagram berikut menunjukkan panggilan balik yang terlibat dalam penghapusan mendadak:

Diagram alur yang mengilustrasikan urutan penghapusan kejutan dalam driver perangkat.

Jika perangkat tidak dalam status kerja saat dihapus, kerangka kerja memanggil panggilan balik peristiwa EvtDeviceReleaseHardware segera setelah EvtDeviceSurpriseRemoval. Ini menghilangkan langkah-langkah intervensi, yang sudah dilakukan ketika perangkat keluar dari status kerja.