SRB_CLOSE_STREAM
类驱动程序发送此请求以关闭流。
返回值
微型驱动程序应将以下其中一项设置为 SRB 中的状态:
STATUS_SUCCESS
指示命令成功完成。
STATUS_NOT_IMPLEMENTED
指示微型驱动程序不支持函数。
STATUS_IO_DEVICE_ERROR
指示发生了硬件故障。
注释
类驱动程序在 pSrb-StreamObject> 中提供HW_STREAM_OBJECT缓冲区,pSrb-StreamObject-StreamNumber>> 设置为要关闭的流数。 pSrb 指针指向HW_STREAM_REQUEST_BLOCK结构。 StreamNumber 对应于微型驱动程序为响应SRB_GET_STREAM_INFO请求而提供的 HW_STREAM_DESCRIPTOR 结构中的 流 偏移量。
如果微型驱动程序成功关闭流,微型驱动程序将返回STATUS_SUCCESS。 否则,它将返回适当的错误状态。
当微型驱动程序收到 SRB_CLOSE_STREAM 命令时,响应的微型驱动程序例程应:
在打开流时释放微型驱动程序分配的任何资源。
如果时钟用于流,请停止引用时钟。
将流状态重置为“停止”。
请注意,如果关联的用户模式应用程序崩溃,流式处理时可以任意关闭流。 因此,必须释放流的所有未完成资源,完成流的所有挂起的 SDB,并将流重新置于静止状态。