共用方式為


SPB Framework 擴充功能 (SpbCx)

從 Windows 8 開始,SPB 架構延伸模組 (SpbCx) 是核心模式驅動程式架構的系統提供延伸模組, (KMDF) 。 SpbCx 可與 SPB 控制器驅動程式 搭配運作,以在連線到 簡單周邊匯流排 的周邊裝置上執行 I/O 作業, (SPB) ,例如 IーC 或 SPI。

SPB 控制器驅動程式會執行所有硬體特定作業。 這些作業包括存取 SPB 控制器的硬體暫存器,以設定控制器,以及起始與 SPB 連線周邊裝置之間的匯流排傳輸。

SpbCx 會執行 SPB 控制器裝置通用的處理工作。 特別是,SpbCx 會管理 SPB 控制器的 I/O 要求佇列。 這些佇列包含附加至匯流排之周邊裝置的 I/O 要求。 SPB 控制器的硬體廠商會提供 SPB 控制器驅動程式,以執行處理這些要求所需的所有硬體特定作業。

SpbCx 與 SPB 控制器驅動程式之間的責任劃分如下:

  • SpbCx 會管理 SPB 控制器裝置類別所有成員通用的泛型函式。 SpbCx 提供控制器驅動程式的大部分預設要求處理和流程式控制制。 從 Windows 8 開始,SpbCx 是 Windows 作業系統的收件匣元件。

  • SPB 控制器驅動程式會管理 SPB 控制器裝置中的硬體特定功能。 硬體廠商為其 SPB 控制器裝置提供控制器驅動程式。

SpbCx 和 SPB 控制器驅動程式會在核心模式中執行。 SpbCx 是架構擴充功能,而 SPB 控制器驅動程式則是 KMDF 驅動程式。 SPB 控制器驅動程式會呼叫 SpbCx 設備磁碟機介面中的方法, (DDI) 來執行 SPB 特定作業,並呼叫 KMDF 方法來執行其他更通用的驅動程式函式。 如需建置 KMDF 驅動程式的相關資訊,請參閱 建置和載入Framework-Based驅動程式

SPB 控制器驅動程式會以靜態方式連結至 SpbCx Stub 程式庫 Spbcx.lib 中的 DDI 進入點。 在執行時間,此程式庫會執行必要的驅動程式版本交涉,以動態連結至實作 DDI 的架構擴充模組Spbcx.sys。 需要特定版本Spbcx.sys的 SPB 控制器驅動程式可以安全地連結至版本號碼較高的Spbcx.sys版本。 不過,此驅動程式無法連結至版本號碼較低的Spbcx.sys版本。 SpbCx I/O 要求介面與回溯相容。

雖然硬體廠商可以選擇撰寫不使用 SpbCx 的整合型 SPB 控制器驅動程式,但需要執行這項作業。 相較之下,使用 SpbCx 的控制器驅動程式更容易開發,而且通常更可靠。