共用方式為


多功能音訊裝置

多功能裝置是單一適配卡,其中包含兩個或多個個別功能(或子函式)。 多功能裝置可以包含兩個或多個音訊子裝置。 它也可能跨越裝置類別。 例如,包含音訊和數據機子裝置的裝置同時屬於媒體類別和數據機類別。 如需詳細資訊,請參閱 支援多功能裝置

PortCls 中的 WavePci 埠驅動程式對多功能裝置有特殊要求。 特別是,配接器驅動程式必須提供設定每個子裝置的方法,讓它可以獨立於多功能裝置中的其他子裝置進行控制。 這可以透過以下兩種方式之一設定多功能裝置的 PCI 配置空間來完成:

  1. 慣用的方法是將個別的裝置識別碼指派給多功能裝置上每個邏輯上不同的子裝置。 例如,如果您的多功能裝置包含數據機、音訊和搖桿子裝置,系統應該能夠將每個子裝置表示為 裝置樹狀結構中的獨立裝置節點。 每個裝置識別碼所代表的子裝置都有自己的一組 PCI 組態暫存器,而且與其他子裝置正交且獨立。 例如,啟用或停用一個子裝置 (例如音訊子裝置) 應該不會影響任何其他子裝置 (例如數據機) 。 除了子裝置本身的專屬驅動程式之外,這種類型的多功能裝置不需要特殊的硬體特定驅動程式支援。

  2. 設計多功能裝置的第二種方法是將單一裝置識別碼指派給整個裝置,並為個別子裝置提供個別的 PCI 基座位址暫存器 (BAR)。 在此方案中,子裝置共用一組通用的配置暫存器,但每個子裝置都有自己的 BAR 或 BAR。 系統多功能驅動程式 (例如,Microsoft Windows 2000 和更新版本上的 Mf.sys ;請參閱 使用 System-Supplied 多功能匯流排驅動程式) 可以設定每個子裝置狀態、命令和數據暫存器的基本位址,而不受其他函式的暫存器的影響。 如果裝置的 BAR 在邏輯上無法由子裝置分隔,則無法使用 PortCls 來管理裝置。

本節的其餘部分說明實作上述清單中方法 (2) 所需的步驟。 討論下列主題:

多個音訊子裝置

多功能設備限制