UMDF 概觀
本主題提供User-Mode Driver Framework (UMDF) 元件的概觀,並說明驅動程式如何與系統提供的元件互動。 這同時適用于 UMDF 第 1 版和 2 版。
UMDF 驅動程式會抽象化硬體功能、在使用者模式環境中執行,並可存取各種服務。 UMDF 驅動程式會在管理裝置的驅動程式堆疊中運作。 檔案系統驅動程式、顯示驅動程式 (用於完整顯示裝置、不顯示僅顯示裝置) ,而且列印驅動程式不可以是 UMDF 驅動程式。
UMDF 驅動程式會與下列系統提供的元件互動:
驅動程式主機進程
驅動程式主機進程會載入廠商提供的 UMDF 驅動程式和架構 DLL、提供使用者模式驅動程式的執行環境,以及在使用者模式堆疊中的驅動程式之間路由傳送訊息。 如需詳細資訊,請參閱 UMDF 驅動程式主機進程。
驅動程式管理員
驅動程式管理員是一項 Windows 服務,可管理 Wudfhost 驅動程式主機進程的所有實例。 驅動程式管理員會啟動並追蹤每個驅動程式主機程式的相關資訊。 每個主機都是驅動程式管理員的子進程。 每個系統只有一個驅動程式管理員存在。 驅動程式管理員會在安裝第一個 UMDF 裝置期間啟動,並在之後于系統上執行。
Reflector
反映器是核心模式驅動程式,可讓應用程式和驅動程式主機進程 (和使用者模式裝置堆疊) 通訊。 反映器會為每個裝置實例建立個別的裝置物件,並處理與每個裝置實例相關聯的隨插即用 (PnP) 和電源 I/O 要求。 應用程式與驅動程式主機進程之間的所有通訊都會透過反映器進行。 如需詳細資訊,請參閱 UMDF 的架構。
指定裝置的所有函式和篩選驅動程式都必須在相同的驅動程式主機進程中執行,但多個主機進程可以同時執行。
下圖顯示驅動程式主機處理、驅動程式管理員和反映器如何跨使用者模式/核心模式界限進行通訊。