串流 Minidrivers
注意 本節詳述類別驅動程式 過期Stream.sys 。 透過 Microsoft Windows XP 版本,Microsoft 僅支援現有驅動程式 Stream.sys 。 在此版本中,Microsoft 建議廠商考慮使用 AVStream 類別驅動程式模型開發新的視訊或音訊/視訊多媒體驅動程式。 請參閱 AVStream 概觀中的詳細資料。 如果開發僅限音訊驅動程式,您應該在 Microsoft 提供的 Portcls.sys 類別驅動程式下撰寫音訊迷你埠驅動程式。 如需詳細資訊,請參閱 音訊迷你埠驅動程式。
廠商可以提供在 Microsoft 提供的 Stream.sys類別 驅動程式下執行的迷你驅動程式,以支援僅限視訊或音訊/視訊裝置。 在本檔中, Stream.sys 底下廠商提供的迷你 驅動程式稱為串流迷你驅動程式。
例如,串流迷你驅動程式可支援視訊擷取裝置和 DVD 播放機。 如需技術特定資訊,請參閱 影片擷取裝置 和 DVD 解碼器 Minidrivers。
串流迷你驅動程式支援核心串流語意。 若要使用本檔,驅動程式開發人員應該熟悉基本的核心串流概念,如 核心串流中所述。
資料流程類別驅動程式的設計目的是為了簡化串流裝置的撰寫硬體驅動程式,方法是處理與作業系統互動的許多層面。
minidriver 可讓資料流程類別驅動程式代表處理同步處理。 例如,資料流程類別驅動程式可以選擇性地序列化 minidriver 的 I/O 要求。 允許類別驅動程式處理同步處理,讓 minidriver 多處理器安全但不可進入。 這適用于低端到中端硬體。
類別驅動程式會自動同步處理檔案作業。 例如,使用 mutex、旗號或事件來正確序列化資料流程和裝置的開啟,而不使用迷你驅動程式。
類別驅動程式會從 minidriver 擷取核心串流語意的實作。
類別驅動程式會處理與 PnP 管理員的所有互動。 例如:
- 類別驅動程式代表 minidriver 建立功能裝置物件。
- 類別驅動程式會管理資源組態 (,例如轉譯埠位址、翻譯和對應記憶體範圍,以及連線中斷) 。
- 類別驅動程式會處理 PnP IRP,例如 IRP_MN_START_DEVICE或 IRP_MN_STOP_DEVICE。
類別驅動程式會處理所有低階緩衝區管理:
- 視需要配置 DMA 配接器物件。
- 對應緩衝區和建置 DMA 的散佈/收集清單。
- 針對 DMA 和 PIO 正確鎖定和排清緩衝區。
所有 IOCTL 參數驗證都是由類別驅動程式執行。
所有要求都是由類別驅動程式使用監視程式計時器來計時。
minidriver 不會建立裝置物件,但視需要共用類別驅動程式的裝置物件。 這會儲存系統資源。
每個介面卡只會建立一個裝置物件。 配接器所支援 (稱為 串流) 的多個子裝置會以核心串流針腳表示。