本主題描述 User-Mode Driver Framework (UMDF) 驅動程式主機程式,以及它與其他 UMDF 元件搭配運作的方式。 適用於 UMDF 第 1 版和 2 版。
驅動程式主機進程 (Wudfhost.exe) 是驅動程式管理員服務的子進程。 Wudfhost.exe 通常會在本機計算機上具有最低許可權的 LocalService 帳戶中執行。 除了架構 DLL 之外,Wudfhost.exe 實例會載入一或多個 UMDF 驅動程式 DLL。 驅動程式主機進程提供運行時間環境,可處理驅動程式管理員與反映器之間的進程間通訊(IPC),以及 I/O 分派、驅動程式載入、驅動程式分層和線程集區管理。
驅動程式管理員可以建立多個並行 Wudfhost.exe實例,如下所示:
如果您的 UMDF 驅動程式是以 1.11 版所建置,而且是在 Windows 8 上執行,則驅動程式管理員預設會建立可裝載多個裝置堆疊的 Wudfhost 單一實例。 這項技術稱為 裝置共用。
如果您的UMDF驅動程式是以第2版建置,而且是在Windows 8.1或 Windows 10 上執行,則共用預設也會開啟。
如果您的驅動程式是以 UMDF 1.9 版或更早版本建置,架構會為每個裝置堆疊建立個別的主機進程實例(Wudfhost)。
如需裝置共用的詳細資訊,請參閱 在 UMDF 驅動程式中使用裝置共用。
每個 Wudfhost.exe 進程都會在自己的位址空間中執行,因此會與應用程式進程和其他驅動程式主機實例隔離。 在相同進程中執行的 UMDF 驅動程式會共用位址空間,而不會彼此隔離。
您可以在相同的主機進程或不同的主機進程中,同時載入以 UMDF 第 1 版和 2 版建置的驅動程式。 例如,根據預設,驅動程式管理員會在執行 Windows 8.1 或更新版本的電腦上,於相同主機進程中載入 UMDF 1.11 驅動程式和 UMDF 2 驅動程式。
不過,您無法在相同的裝置堆疊中載入 UMDF 第 1 版和 2 版驅動程式。 例如,您無法在 UMDF 第 2 版函式驅動程式上方載入 UMDF 第 1 版篩選驅動程式。
如需顯示驅動程式主機與其他 UMDF 元件關聯方式的圖表,請參閱 UMDF 概觀。