IOCTL_STORAGE_PREDICT_FAILURE IOCTL (ntddstor.h)

Опросы по прогнозированию сбоя устройства. Этот запрос работает с дисками интегрированной среды разработки, поддерживающими технологию самостоятельного мониторинга и создания отчетов (SMART). Если диск является диском SCSI, драйвер класса пытается проверить, поддерживает ли диск SCSI эквивалентную технологию IDE SMART, проверив сведения о запросе на странице управления исключениями информации X3T10/94-190 ред 4.

Если устройство поддерживает сбой прогнозирования, драйвер класса диска запрашивает устройство для состояния прогнозирования сбоев и сообщает результаты. Если драйвер класса диска назначает ненулевое значение PredictFailure член STORAGE_PREDICT_FAILURE в выходном буфере на Irp->AssociatedIrp.SystemBuffer, диск имеет плохие секторы и прогнозирует сбой. Стек хранилища возвращает 512 байт сведений о прогнозе сбоя в VendorSpecific члена STORAGE_PREDICT_FAILURE.

Если элемент PredictFailure содержит значение нуля, диск не прогнозирует сбой.

Если устройство не поддерживает прогнозирование сбоев, IOCTL_STORAGE_PREDICT_FAILURE завершается ошибкой с состоянием STATUS_INVALID_DEVICE_REQUEST, а данные в выходном буфере не определены.

Другие средства проверки сбоя диска включают мониторинг журнала событий и регистрацию для получения события WMI с WMI_STORAGE_PREDICT_FAILURE_EVENT_GUID.

Основной код

IRP_MJ_DEVICE_CONTROL

Входной буфер

Никакой.

Длина входного буфера

Никакой.

Выходной буфер

Драйвер возвращает структуру STORAGE_PREDICT_FAILURE, содержащую данные прогнозирования сбоев в буфере в Irp->AssociatedIrp.SystemBuffer.

Длина выходного буфера

Parameters.DeviceIoControl.OutputBufferLength указывает размер буфера в байтах в Irp->AssociatedIrp.SystemBuffer, который должен быть больше или равен размеру (STORAGE_PREDICT_FAILURE).

Блок состояния

Irp->IoStatus.Status STATUS_SUCCESS, если запрос выполнен успешно. В противном случае состояние соответствующего условия ошибки в качестве кода NTSTATUS.

Требования

Требование Ценность
заголовка ntddstor.h (include Ntddstor.h)

См. также

STORAGE_PREDICT_FAILURE