SRB_CLOSE_STREAM
Драйвер класса отправляет этот запрос, чтобы закрыть поток.
Возвращаемое значение
Мини-диск должен задать одно из следующих состояний в SRB:
STATUS_SUCCESS
Указывает на успешное выполнение команды.
STATUS_NOT_IMPLEMENTED
Указывает, что функция не поддерживается мини-накопителем.
STATUS_IO_DEVICE_ERROR
Указывает, что произошел сбой оборудования.
Комментарии
Драйвер класса предоставляет буфер HW_STREAM_OBJECT в pSrb-StreamObject>, при этомpSrb-StreamObject-StreamNumber>> устанавливается номер закрываемого потока. Указатель pSrb указывает на HW_STREAM_REQUEST_BLOCK структуру. StreamNumber соответствует смещению потока в структуре HW_STREAM_DESCRIPTOR , которая предоставляется мини-накопителем в ответ на запрос SRB_GET_STREAM_INFO .
Если мини-диск успешно закрывает поток, он возвращает STATUS_SUCCESS. В противном случае возвращается соответствующее состояние ошибки.
Когда мини-driver получает команду SRB_CLOSE_STREAM, подпрограмма мини-драйвера должна:
Освободите все ресурсы, выделенные мини-накопителем при открытии потока.
Прекратите ссылаться на часы, если для потока использовались часы.
Сбросьте состояние потока на Stop.
Обратите внимание, что поток может быть закрыт произвольно во время потоковой передачи в случае сбоя связанного приложения в пользовательском режиме. Поэтому необходимо освободить все незавершенные ресурсы для потока, завершить все ожидающие SSP для потока и вернуть поток в состояние ожидания.