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

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

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

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

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

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