SRB_GET_STREAM_INFO
クラス ドライバーは、デバイスとサポートされているストリームの説明を取得するために、この要求を送信します。
戻り値
ミニドライバーは、SRB の状態として次のいずれかを設定する必要があります。
STATUS_SUCCESS
コマンドが正常に完了したことを示します。
STATUS_IO_DEVICE_ERROR
ハードウェア障害が発生したことを示します。
Comments
クラス ドライバーは、pSrb->CommandData.StreamBuffer に、ミニドライバーによって指定されたサイズのバッファーを、クラス ドライバーの SRB_INITIALIZE_DEVICE 要求に応答して渡します。 pSrb ポインターは、HW_STREAM_REQUEST_BLOCK 構造体を指します。 PORT_CONFIGURATION_INFORMATION も参照してください。
ミニドライバーは、CommandData.StreamBuffer に、デバイスとサポートするストリームを記述する HW_STREAM_DESCRIPTOR を入力します。 このバッファーのサイズは、PORT_CONFIGURATION_INFORMATION 構造体の StreamDescriptorSize フィールドでミニドライバーによって示されます。
クラス ドライバーは通常、この要求を 1 回だけ発行します。 ミニドライバーは、StreamClassReenumerateStreams を呼び出すことによって、サポートされているストリームの説明を更新するために、クラス ドライバーにこの要求を再発行をさせることができます。
SRB_GET_STREAM_INFO コマンドがミニドライバーによって受信されると、ミニドライバーは次の処理を行う必要があります。
ストリーム ヘッダーとストリーム情報データ構造のポインターを取得します。 次に例を示します。
PHW_STREAM_HEADER pstrhdr = (PHW_STREAM_HEADER)&(pSrb->CommandData.StreamBuffer->StreamHeader); PHW_STREAM_INFORMATION pstrinfo = (PHW_STREAM_INFORMATION)&(pSrb->CommandData.StreamBuffer->StreamInfo);
返されたデータを保持するのに十分な大きさのバッファーであることを確認します。
バッファーに情報を書き込みます。