IOCTL_STORAGE_CHECK_VERIFY IOCTL (ntddstor.h)

Menentukan apakah media telah berubah pada perangkat media yang dapat dilepas yang telah dibuka pemanggil untuk akses baca atau tulis. Jika akses baca atau tulis ke perangkat tidak diperlukan, penelepon dapat meningkatkan performa dengan membuka perangkat dengan FILE_READ_ATTRIBUTES dan mengeluarkan permintaanIOCTL_STORAGE_CHECK_VERIFY2 sebagai gantinya.

Untuk informasi selengkapnya, lihat Mendukung Media yang Dapat Dilepas.

Kode utama

IRP_MJ_DEVICE_CONTROL

Buffer input

Tidak ada.

Panjang buffer input

Tidak ada.

Buffer output

Secara opsional, untuk perangkat disk dan CD-ROM, Irp-AssociatedIrp.SystemBuffer> menunjuk ke buffer untuk menerima jumlah perubahan media. Driver mengisi buffer ini hanya jika Parameters.DeviceIoControl.OutputBufferLength bukan nol dan nilai yang dikembalikan STATUS_SUCCESS. Jumlah perubahan media adalah ULONG yang menunjukkan berapa kali media telah berubah sejak driver dimulai.

Jika tidak, permintaan ini tidak memiliki output.

Panjang buffer output

Secara opsional, untuk perangkat disk dan CD-ROM, Parameters.DeviceIoControl.OutputBufferLength di lokasi tumpukan I/O IRP menunjukkan ukuran, dalam byte, dari buffer, yang harus >= sizeof (ULONG). Bidang ini nol jika buffer opsional tidak ditentukan.

Jika tidak, permintaan ini tidak memiliki input.

Blok status

Jika disk atau driver CD-ROM tidak memiliki indikasi bahwa media telah berubah, driver mengatur bidang Status ke STATUS_SUCCESS. Selain itu, jika buffer perubahan media opsional ditentukan, driver mengembalikan jumlah perubahan media dalam buffer di Irp-AssociatedIrp.SystemBuffer> dan mengatur bidang Informasi ke sizeof (ULONG). Jika buffer perubahan media opsional tidak ditentukan, driver mengatur Informasi ke nol.

Jika driver mendeteksi bahwa media telah berubah dan volume dipasang (VPB_MOUNTED diatur dalam VPB), itu harus:

  1. Atur Informasi ke nol.
  2. Atur Status ke STATUS_VERIFY_REQUIRED.
  3. Atur bendera DO_VERIFY_VOLUME di DeviceObject.
  4. Panggil IoCompleteRequest dengan IRP input.
Jika driver mendeteksi bahwa media telah berubah, tetapi volume tidak dipasang, driver tidak boleh mengatur bit DO_VERIFY_VOLUME. Sebaliknya, ia harus melakukan hal berikut:
  1. Atur Status ke STATUS_IO_DEVICE_ERROR.
  2. Atur Informasi ke nol.
  3. Panggil IoCompleteRequest dengan IRP.
Jika driver mendeteksi kesalahan seperti STATUS_BUFFER_TOO_SMALL, STATUS_INSUFFICIENT_RESOURCES, atau kesalahan perangkat, driver mengatur Informasi ke nol dan menetapkan nilai kesalahan yang sesuai di bidang Status .

Untuk driver pita, bidang Informasi diatur ke nol dan bidang Status diatur ke STATUS_SUCCESS, atau mungkin ke STATUS_VERIFY_REQUIRED.

Persyaratan

Persyaratan Nilai
Header ntddstor.h (termasuk Ntddstor.h)

Lihat juga

IOCTL_STORAGE_CHECK_VERIFY2