Поделиться через


IOCTL_STORAGE_PREDICT_FAILURE IOCTL (ntddstor.h)

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

Если устройство поддерживает сбой прогнозирования, драйвер класса диска запрашивает у устройства состояние прогнозирования сбоя и сообщает результаты. Если драйвер класса диска присваивает ненулевое значение элементу PredictFailureSTORAGE_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>, который должен быть больше или равен sizeof(STORAGE_PREDICT_FAILURE).

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

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

Требования

Требование Значение
Заголовок ntddstor.h (включая Ntddstor.h)

См. также раздел

STORAGE_PREDICT_FAILURE