次の方法で共有


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 コマンドがミニドライバーによって受信されると、ミニドライバーは次の処理を行う必要があります。

  1. ストリーム ヘッダーとストリーム情報データ構造のポインターを取得します。 次に例を示します。

     PHW_STREAM_HEADER pstrhdr =
      (PHW_STREAM_HEADER)&(pSrb->CommandData.StreamBuffer->StreamHeader);
     PHW_STREAM_INFORMATION pstrinfo =
      (PHW_STREAM_INFORMATION)&(pSrb->CommandData.StreamBuffer->StreamInfo);
    
    
  2. 返されたデータを保持するのに十分な大きさのバッファーであることを確認します。

  3. バッファーに情報を書き込みます。