共用方式為


多功能音訊裝置

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

PortCls 中的 WavePci 埠驅動程式會在多功能裝置上放置特殊需求。 特別是,介面卡驅動程式必須提供一種方式來設定每個子裝置,以便獨立控制多功能裝置中的其他子裝置。 這可以透過下列兩種方式之一設定多功能裝置的 PCI 設定空間來完成:

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

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

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

多個音訊子裝置

多功能裝置限制