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 命令时,响应的微型驱动程序例程应:

  1. 在打开流时释放微型驱动程序分配的任何资源。

  2. 如果时钟用于流,请停止引用时钟。

  3. 将流状态重置为“停止”。

请注意,如果关联的用户模式应用程序崩溃,流式处理时可以任意关闭流。 因此,必须释放流的所有未完成资源,完成流的所有挂起的 SDB,并将流重新置于静止状态。