共用方式為


串流微型驅動程式

注意 本節詳述過時 Stream.sys 類別驅動程式。 在 windows XP Microsoft 版本中,Microsoft只支援現有驅動程式 的Stream.sys 。 在此版本中,Microsoft建議廠商考慮使用AVStream類別驅動程式模型開發新的視訊或音訊/視訊多媒體驅動程式。 請參閱 AVStream概觀中的詳細數據。 如果開發僅限音訊驅動程式,您應該在Microsoft提供的 Portcls.sys 類別驅動程式下撰寫音訊迷你埠驅動程式。 如需詳細資訊,請參閱 音訊迷你埠驅動程式

廠商可以提供一個迷你驅動程式,在 Microsoft 提供的 Stream.sys 類別驅動程式下運行,以支援僅視訊或音訊/視訊裝置。 在本文件中,Stream.sys 由廠商提供的迷你驅動程式稱為串流迷你驅動程式

例如,串流迷你驅動程式可支援視訊擷取裝置和 DVD 播放機。 如需技術特定資訊,請參閱 影片擷取裝置DVD 譯碼器 Minidrivers

串流迷你驅動程序支援核心串流語意。 若要使用本文件,驅動程式開發人員應該熟悉基本的核心串流概念,如 核心串流中所述。

數據流類別驅動程式的設計目的是藉由處理與作系統互動的許多層面,讓串流裝置的硬體驅動程式更容易撰寫。

  • minidriver 可以允許串流類別驅動程式代表其進行同步處理。 例如,數據流類別驅動程式可以選擇性地串行化迷你驅動程式的 I/O 要求。 允許類別驅動程式處理同步,使 minidriver 適用於多處理器,但不可重入。 這適用於低端到中端硬體。

  • 類別驅動程式會自動同步處理檔案作業。 例如,使用 Mutex、旗號或事件,即可正確串行化數據流和裝置的開啟,而不需要迷你驅動程式。

  • 類別驅動程式會從迷你驅動程式擷取核心串流語意的實作。

  • 類別驅動程式會處理與 PnP 管理員的所有互動。 例如:

    • 類別驅動程式會代表 minidriver 建立功能性裝置物件。
    • 類別驅動程式會管理資源設定(例如轉譯埠位址、轉譯和對應記憶體範圍,以及連接中斷)。
    • 類別驅動程式會處理 PnP IRP,例如 IRP_MN_START_DEVICEIRP_MN_STOP_DEVICE
  • 所有低階緩衝區管理都會由類別驅動程序處理:

    • 如有必要,配置 DMA 配接器物件。
    • 對映緩衝區並建立用於 DMA 的散佈/聚集清單。
    • 正確地鎖定和排清適用於 DMA 和 PIO 的緩衝區。
  • 所有IOCTL參數驗證都是由類別驅動程序執行。

  • 所有請求都由類別驅動程式使用看門狗定時器計時。

  • 迷你驅動程式不會建立裝置物件,但會根據需要共用類別驅動程式的裝置物件。 這會儲存系統資源。

  • 每個配接器只會建立一個裝置物件。 配接器支援的多個子裝置(稱為 數據流)是由核心串流針腳表示。