Windows Kernel-Mode I/O 管理員
計算機是由各種裝置所組成,這些裝置提供外部世界的輸入和輸出(I/O)。 一般裝置包括鍵盤、滑鼠、音訊控制器、視訊控制器、磁碟驅動器、網路埠等等。 設備驅動器提供裝置與作系統之間的軟體連線。 因此,I/O 對於設備驅動器寫入器非常重要。
Windows 核心模式 I/O 管理員會管理應用程式與設備驅動器所提供的介面之間的通訊。 由於裝置以可能不符合作系統的速度運作,因此作系統與設備驅動器之間的通訊主要是透過 I/O 要求封包 (IRP) 來完成。 這些封包類似於網路封包或 Windows 訊息封包。 它們會從作系統傳遞至特定驅動程式,以及從一個驅動程序傳遞至另一個驅動程式。
Windows I/O 系統提供稱為堆疊的分層驅動程式模型。 一般而言,IRP 會從一個驅動程式移至相同堆疊中的另一個驅動程式,以方便通訊。 例如,遊戲桿驅動程式需要與USB中樞通訊,而USB主機控制器接著需要透過PCI總線與電腦硬體的其餘部分進行通訊。 系統堆疊包含遊戲控制桿驅動程式、USB 集線器、USB 主機控制器和 PCI 總線。 此通訊會藉由讓堆疊中的每個驅動程式傳送和接收 IRP 來協調。
必須特別強調,您的驅動程式必須及時傳送和接收 IRP,以確保整個堆疊能夠高效運作。 如果您的驅動程式是堆疊的一部分,且未正確接收、處理及傳遞資訊,您的驅動程式可能會導致系統當機。
如需 IRP 的詳細資訊,請參閱 處理 IRP。
如需驅動程式堆疊的詳細資訊,請參閱 裝置物件和裝置堆疊。
如需與 I/O 管理相關的程式設計技術,請參閱 I/O 管理員程式設計技術。
提供 I/O 管理員直接介面的例程通常會加上字母 「Io」;例如,IoCreateDevice。 如需 I/O 管理員例程的清單,請參閱 I/O 管理員例程。
如需與 IRPS 相關的例程清單,請參閱 IRP。
I/O 管理員有兩個子元件:即插即用管理員和電源管理員。 他們會管理即插即用和電源管理技術的 I/O 功能。 如需隨插即用管理的詳細資訊,請參閱 Windows Kernel-Mode 隨插即用管理員,如需電源管理的詳細資訊,請參閱 Windows Kernel-Mode Power Manager。