共用方式為


SRB_GET_STREAM_INFO

類別驅動程式會傳送此要求,以取得裝置的描述及其支持的數據流。

傳回值

迷你驅動程式應該將下列其中一項設定為 SRB 中的狀態:

STATUS_SUCCESS
表示命令成功完成。

STATUS_IO_DEVICE_ERROR
表示發生硬體失敗。

註解

類別驅動程式會在 minidriver 所指定大小的 pSrb-CommandData.StreamBuffer > 中傳遞緩衝區,以響應類別驅動程式的SRB_INITIALIZE_DEVICE要求。 pSrb 指標指向HW_STREAM_REQUEST_BLOCK結構。 另請參閱 PORT_CONFIGURATION_INFORMATION

迷你驅動程式會以描述裝置及其支持的數據流HW_STREAM_DESCRIPTOR填入 CommandData.StreamBuffer。 此緩衝區的大小是由 PORT_CONFIGURATION_INFORMATION 結構之 StreamDescriptorSize 欄位中的minidriver表示。

類別驅動程式通常只會發出此要求一次。 minidriver 可能會強制類別驅動程式重新發出此要求,藉由呼叫 StreamClassReenumerateStreams 來更新其支持數據流的描述。

當 minidriver 收到SRB_GET_STREAM_INFO命令時,minidriver 應該:

  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. 將資訊寫入緩衝區。