共用方式為


IOCTL_STORAGE_PREDICT_FAILURE IOCTL (ntddstor.h)

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

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

如果 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 (include Ntddstor.h)

另請參閱

STORAGE_PREDICT_FAILURE