다음을 통해 공유


SRB_CLOSE_STREAM

클래스 드라이버는 스트림을 닫기 위해 이 요청을 보냅니다.

반환 값

미니 드라이버는 SRB의 상태 다음 중 하나를 설정해야 합니다.

STATUS_SUCCESS
명령이 성공적으로 완료되었음을 나타냅니다.

STATUS_NOT_IMPLEMENTED
미니 드라이버에서 함수를 지원하지 않음을 나타냅니다.

STATUS_IO_DEVICE_ERROR
하드웨어 오류가 발생했음을 나타냅니다.

의견

클래스 드라이버는 pSrb-StreamObject에서 pSrb-StreamObject-StreamNumber>>>가 닫을 스트림 수로 설정된 HW_STREAM_OBJECT 버퍼를 제공합니다. pSrb 포인터는 HW_STREAM_REQUEST_BLOCK 구조를 가리킵니다. StreamNumber는 미니드라이버가 SRB_GET_STREAM_INFO 요청에 대한 응답으로 제공하는 HW_STREAM_DESCRIPTOR 구조 내의 스트림 오프셋에 해당합니다.

미니 드라이버가 스트림을 성공적으로 닫으면 미니 드라이버가 STATUS_SUCCESS 반환합니다. 그렇지 않으면 적절한 오류 상태 반환됩니다.

미니 드라이버에서 SRB_CLOSE_STREAM 명령을 받으면 응답하는 미니 드라이버 루틴은 다음을 수행해야 합니다.

  1. 스트림을 열 때 미니드라이버에서 할당한 모든 리소스를 해제합니다.

  2. 스트림에 클록이 사용된 경우 시계 참조를 중지합니다.

  3. 스트림 상태를 중지로 다시 설정합니다.

연결된 사용자 모드 애플리케이션이 충돌하는 경우 스트리밍하는 동안 스트림을 임의로 닫을 수 있습니다. 따라서 스트림에 대한 모든 미해결 리소스를 해제하고, 스트림에 대해 보류 중인 모든 SRB를 완료하고, 스트림을 정지 상태로 다시 배치해야 합니다.