IOCTL_STORAGE_PREDICT_FAILURE IOCTL (ntddstor.h)

輪詢裝置失敗的預測。 此要求適用於支援自我監視分析和報告技術的 IDE 磁碟驅動器, (SMART) 。 如果磁碟驅動器是 SCSI 磁碟驅動器,類別驅動程式會藉由檢查資訊例外狀況控制頁面 X3T10/94-190 Rev 4 上的查詢資訊,嘗試驗證 SCSI 磁碟是否支援對等的 IDE SMART 技術。

如果裝置支援預測失敗,磁碟類別驅動程式會查詢裝置是否有失敗預測狀態,並報告結果。 如果磁碟類別驅動程式將非零值指派給 Irp-AssociatedIrp.SystemBuffer> 輸出緩衝區中STORAGE_PREDICT_FAILUREPredictFailure 成員,則磁碟有不良扇區,而且正在預測失敗。 記憶體堆疊會傳回 512 位元組的廠商特定資訊,該資訊是STORAGE_PREDICT_FAILURE VendorSpecific 成員中的失敗預測。

如果 PredictFailure 成員包含零的值,磁碟就不會預測失敗。

如果裝置不支援失敗預測,IOCTL_STORAGE_PREDICT_FAILURE失敗且狀態為 STATUS_INVALID_DEVICE_REQUEST,且輸出緩衝區中的數據未定義

其他檢查磁碟失敗的方法包括監視事件記錄檔,以及註冊以接收具有WMI_STORAGE_PREDICT_FAILURE_EVENT_GUID的 WMI 事件。

主要程序代碼

IRP_MJ_DEVICE_CONTROL

輸入緩衝區

無。

輸入緩衝區長度

無。

輸出緩衝區

驅動程式會傳回STORAGE_PREDICT_FAILURE結構,其中包含 Irp-AssociatedIrp.SystemBuffer> 緩衝區中的失敗預測數據。

輸出緩衝區長度

Parameters.DeviceIoControl.OutputBufferLength 指出 Irp-AssociatedIrp.SystemBuffer> 緩衝區的大小,其大小必須大於或等於 sizeof (STORAGE_PREDICT_FAILURE) 。

狀態區塊

Irp->如果要求成功,IoStatus.Status 會設定為 STATUS_SUCCESS。 否則, 狀態 為適當的錯誤狀況為 NTSTATUS 程式碼。

規格需求

需求
標頭 ntddstor.h (包含 Ntddstor.h)

另請參閱

STORAGE_PREDICT_FAILURE