Блоки состояния ввода-вывода

Блок состояния ввода-вывода, состоящий из IO_STATUS_BLOCK структуры, является частью каждого IRP. Блок состояния ввода-вывода служит двумя целями:

  • Он предоставляет более высокий уровень процедуры IoCompletion драйвера для определения того, работает ли служба после завершения IRP.

  • В нем содержатся дополнительные сведения о том, почему служба либо работала, либо не работала.

После завершения IRP поле "Состояние" указывает, удовлетворены ли драйверы, обрабатывающие IRP, фактически удовлетворены запросом или сбоем IRP с состоянием ошибки. Поле сведений предоставляет вызывающий объект с дополнительными сведениями о том, что на самом деле произошло. Например, он содержит количество байтов, которые фактически передаются после операции чтения или записи.

Дополнительные сведения см. в разделе "Настройка блока состояния ввода-вывода" в IRP.