共用方式為


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 會對應至 minidriver 為了回應SRB_GET_STREAM_INFO要求而提供之HW_STREAM_DESCRIPTOR結構內的數據流位移。

如果迷你驅動程式成功關閉數據流,迷你驅動程式會傳回STATUS_SUCCESS。 否則,它會傳回適當的錯誤狀態。

當 minidriver 收到SRB_CLOSE_STREAM命令時,回應的迷你驅動程式例程應該:

  1. 開啟數據流時,釋放迷你驅動程式所配置的任何資源。

  2. 如果數據流使用時鐘,請停止參考時鐘。

  3. 將數據流狀態重設為 [停止]。

請注意,當相關聯的使用者模式應用程式當機時,串流可能會任意關閉數據流。 因此,您必須釋放數據流的所有未處理資源、完成數據流的所有暫止 SRB,並將數據流放回靜止狀態。