Menanggapi Permintaan Check-Verify dari Sistem File
Atas kebijakannya, sistem file dapat mengirim IRP ke titik masuk Pengiriman driver perangkat untuk permintaan IRP_MJ_DEVICE_CONTROL dengan Parameters.DeviceIoControl.IoControlCode di lokasi tumpukan I/O yang diatur ke berikut:
IOCTL_XXXX_CHECK_VERIFY
di mana XXX adalah jenis perangkat, seperti DISK, TAPE, atau CDROM.
Jenis DISK mencakup perangkat media yang tidak dapat dipartisi (floppy) dan dapat dilepas partisi.
Jika driver perangkat yang mendasar menentukan bahwa media tidak berubah, driver harus menyelesaikan IRP, mengembalikan blok IoStatus dengan nilai berikut:
Status |
Atur ke STATUS_SUCCESS |
Informasi |
Atur ke nol |
Selain itu, jika jenis perangkat adalah DISK atau CDROM dan pemanggil menentukan buffer output, driver mengembalikan jumlah perubahan media dalam buffer di Irp-AssociatedIrp.SystemBuffer> dan mengatur Irp-IoStatus.Information> ke sizeof(ULONG). Dengan mengembalikan jumlah ini, driver memberi penelepon kesempatan untuk menentukan apakah media telah berubah dari perspektifnya.
Jika driver perangkat yang mendasar menentukan bahwa media telah berubah, dibutuhkan tindakan yang berbeda tergantung pada apakah volume dipasang. Jika volume dipasang (bendera VPB_MOUNTED diatur di VPB), driver harus melakukan hal berikut:
Atur Bendera di DeviceObject oleh Bendera ORing dengan DO_VERIFY_VOLUME.
Atur blok IoStatus di IRP ke yang berikut ini:
- Status diatur ke STATUS_VERIFY_REQUIRED
- Informasi diatur ke nol
Panggil IoCompleteRequest dengan IRP input.
Jika volume tidak dipasang, driver tidak boleh mengatur bit DO_VERIFY_VOLUME. Driver harus mengatur IoStatus.Status ke STATUS_IO_DEVICE_ERROR, mengatur IoStatus.Information ke nol, dan memanggil IoCompleteRequest dengan IRP.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk