SRB_CLOSE_STREAM
クラス ドライバーは、ストリームを閉じるためにこの要求を送信します。
戻り値
ミニドライバーは、SRB の状態として次のいずれかを設定する必要があります。
STATUS_SUCCESS
コマンドが正常に完了したことを示します。
STATUS_NOT_IMPLEMENTED
ミニドライバーで関数がサポートされていないことを示します。
STATUS_IO_DEVICE_ERROR
ハードウェア障害が発生したことを示します。
Comments
クラス ドライバーは、pSrb->StreamObject->StreamNumber を閉じるストリームの数に設定して、pSrb->StreamObject に HW_STREAM_OBJECT バッファーを提供します。 pSrb ポインターは、HW_STREAM_REQUEST_BLOCK 構造体を指します。 StreamNumber は、SRB_GET_STREAM_INFO 要求に応答してミニドライバーが提供する HW_STREAM_DESCRIPTOR 構造体内のストリームのオフセットに対応します。
ミニドライバーがストリームを正常に閉じると、ミニドライバーは STATUS_SUCCESS を返します。 成功しなかった場合は、適切なエラー状態を返します。
SRB_CLOSE_STREAM コマンドがミニドライバーによって受信されると、応答するミニドライバー ルーチンは次の処理を行う必要があります。
ストリームが開かれたときにミニドライバーによって割り当てられたすべてのリソースを解放します。
ストリームにクロックが使用された場合は、クロックの参照を停止します。
ストリーム状態を [停止] にリセットします。
関連するユーザー モード アプリケーションがクラッシュした場合、ストリーミング中にストリームを任意に閉じる可能性があることに注意してください。 そのため、ストリームの未処理のリソースをすべて解放し、ストリームの保留中の SRB をすべて完了し、ストリームを休止状態に戻す必要があります。