共用方式為


UMDF 驅動程式主機進程

本主題描述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 概觀