IOCTL_STORAGE_PREDICT_FAILURE IOCTL (ntddstor.h)
Polling untuk prediksi kegagalan perangkat. Permintaan ini berfungsi dengan drive disk IDE yang mendukung analisis pemantauan mandiri dan teknologi pelaporan (SMART). Jika drive adalah drive SCSI, driver kelas mencoba memverifikasi apakah disk SCSI mendukung teknologi IDE SMART yang setara dengan memeriksa informasi pertanyaan pada Halaman Kontrol Pengecualian Informasi, X3T10/94-190 Rev 4.
Jika perangkat mendukung kegagalan prediksi, driver kelas disk meminta perangkat untuk status prediksi kegagalan dan melaporkan hasilnya. Jika driver kelas disk menetapkan nilai bukan nol ke anggota PredictFailuredari STORAGE_PREDICT_FAILURE dalam buffer output di Irp-AssociatedIrp.SystemBuffer>, disk memiliki sektor yang buruk dan memprediksi kegagalan. Tumpukan penyimpanan mengembalikan 512 byte informasi khusus vendor tentang prediksi kegagalan di anggota VendorSpecific STORAGE_PREDICT_FAILURE.
Jika anggota PredictFailure berisi nilai nol, disk tidak memprediksi kegagalan.
Jika perangkat tidak mendukung prediksi kegagalan, IOCTL_STORAGE_PREDICT_FAILURE gagal dengan status STATUS_INVALID_DEVICE_REQUEST, dan data dalam buffer output tidak terdefinisi
Cara lain untuk memeriksa kegagalan disk termasuk memantau log peristiwa dan mendaftar untuk menerima peristiwa WMI dengan WMI_STORAGE_PREDICT_FAILURE_EVENT_GUID.
Kode utama
Buffer input
Tidak ada.
Panjang buffer input
Tidak ada.
Buffer output
Driver mengembalikan struktur STORAGE_PREDICT_FAILURE yang berisi data prediksi kegagalan dalam buffer di Irp-AssociatedIrp.SystemBuffer>.
Panjang buffer output
Parameters.DeviceIoControl.OutputBufferLength menunjukkan ukuran, dalam byte, buffer di Irp-AssociatedIrp.SystemBuffer>, yang harus lebih besar atau sama dengan sizeof(STORAGE_PREDICT_FAILURE).
Blok status
Irp->IoStatus.Status diatur ke STATUS_SUCCESS jika permintaan berhasil. Jika tidak, Status ke kondisi kesalahan yang sesuai sebagai kode NTSTATUS .
Persyaratan
Persyaratan | Nilai |
---|---|
Header | ntddstor.h (termasuk Ntddstor.h) |