IEEE 1394 驅動程式堆疊

下圖說明 IEEE 1394 驅動程式堆疊與新的 1394 匯流排驅動程式和 Microsoft 支援的 1394 用戶端驅動程式。

說明 ieee 1394 驅動程式堆疊的圖表。

連線到 IEEE 1394 匯流排驅動程式之裝置的用戶端驅動程式位於 IEEE 1394 驅動程式堆疊之上。 匯流排驅動程式提供 IEEE 1394 匯流排的硬體獨立介面。 設備磁碟機會藉由傳送 IEEE 1394 匯流排驅動程式處理的 IEEE 1394 匯流排驅動程式來與裝置通訊。 在 Windows 7 之前,匯流排驅動程式是埠驅動程式 (1394bus.sys) 和主機板主機控制器的主要迷你埠驅動程式 (ochi1394.sys) 的組合。 在 Windows 7 和更新版本中,舊版埠/迷你埠匯流排驅動程式會由 1394ohci.sys 取代,這是使用核心模式驅動程式架構 (KMDF) 實作的整合型 IEEE 1394 匯流排驅動程式。 1394ohci.sys匯流排驅動程式與舊版 1394 匯流排驅動程式完全回溯相容。 如需新匯流排驅動程式與舊版 1394 匯流排驅動程式之間一些已知行為差異的詳細資訊,請參閱 Windows 7 中的 IEEE 1394 匯流排驅動程式

下圖顯示舊版與新 1394 匯流排驅動程式之間的關聯性。

此圖顯示舊版與新 1394 匯流排驅動程式之間的關聯性。

若要對連線到匯流排的裝置發出命令,驅動程式會發出 IRP_MJ_DEVICE_CONTROL IRP,並IOCTL_1394_CLASS 控制程式代碼。 驅動程式會將參數封裝在 IEEE 1394 I/O 要求區塊中, (IRB) ,並在 IRP 的 Parameters.Others.Argument1 成員中傳遞指標。 IRB 的 FunctionNumber 成員會決定作業的類型, 而 u 成員會描述作業。 匯流排驅動程式會使用 IOCTL_1394_CLASS IRP,將介面同時呈現給匯流排和主機控制器。

IRB 結構包含套用至每個匯流排要求和要求特定參數的參數。 IRB 的 u 成員包含要求特定參數,在資料結構的聯集中,每個要求類型一個。

在正常作業期間,驅動程式會收到一般 I/O 要求 (,例如 IRP_MJ_READ) 、將它們轉換成適當的 IEEE 1394 作業,然後透過IOCTL_1394_CLASS將該作業分派給裝置。

Windows 7 中的 IEEE 1394 匯流排驅動程式