共用方式為


巴士司機

總線驅動程式會服務總線控制器、配接器或網橋(請參閱可能的驅動程式層圖)。 Microsoft 為最常見的匯流排提供匯流排驅動程式,例如 PCI、PnpISA、SCSI 和 USB。 其他匯流排驅動程式可以由 IHV 或 OEM 提供。 在機器上,總線驅動程式是必需的,每一種總線類型都有一個對應的驅動程式。 如果機器上有多個相同類型的總線,則公交車司機可以服務多個總線。

公交車司機的主要職責是:

  • 列舉其匯流排上的裝置。

  • 回應隨插即用 IRP 和電源管理 IRP。

  • 總線的多路存取(適用於某些總線)。

  • 一般管理其總線上的裝置。

總線驅動程式基本上是同時列舉子系的 函式驅動程式

在列舉期間,匯流排驅動程式會識別其匯流排上的裝置,並為其建立裝置物件。 (如需裝置物件的相關資訊,請參閱 裝置物件和裝置堆疊。匯流排驅動程式用來識別連線裝置的方法取決於特定匯流排。

匯流排驅動程式會代表其匯流排上的裝置執行特定作業,包括存取裝置暫存器以實際變更裝置的電源狀態。 例如,當裝置進入睡眠狀態時,匯流排驅動程式會設定裝置暫存器,讓裝置處於適當的裝置電源狀態。

匯流排驅動程式不會處理連線到其匯流排之子裝置的讀取和寫入要求。 對子裝置的讀取和寫入要求是由子裝置的 函式驅動程式處理。 只有在子裝置以 原始模式 使用時,父匯流排驅動程式才會處理裝置的讀取和寫入。

因為總線驅動程式會做為其控制器、配接器或網橋的函式驅動程式,所以也會管理這些元件的裝置電源原則。

匯流排驅動程式可以實作為驅動程式/小型驅動程式配對,就像 SCSI 埠/小型埠驅動程式配對驅動 SCSI 主機匯流排適配器(HBA)一樣。 在這類驅動程式配對中,迷你驅動程式會連結至第二個驅動程式,也就是 DLL。