UMDF-Treiberhostprozess
In diesem Thema wird der UmDF-Treiberhostprozess (User-Mode Driver Framework) und die Funktionsweise mit anderen UMDF-Komponenten beschrieben. Sie gilt sowohl für UMDF-Versionen 1 als auch für 2.
Der Treiberhostprozess (Wudfhost.exe) ist ein untergeordneter Prozess des Treiber-Manager-Diensts. Wudfhost.exe wird in der Regel im LocalService-Konto ausgeführt, das über Mindestberechtigungen auf dem lokalen Computer verfügt. Eine instance von Wudfhost.exe lädt zusätzlich zu den Framework-DLLs eine oder mehrere UMDF-Treiber-DLLs. Der Treiberhostprozess stellt eine Laufzeitumgebung bereit, die die Interprocess Communication (IPC) zwischen dem Treiber-Manager und dem Reflektor sowie E/A-Verteilung, Treiberladevorgang, Treiberschichting und Threadpoolverwaltung verarbeitet.
Der Treiber-Manager kann wie folgt mehrere gleichzeitige Instanzen von Wudfhost.exe erstellen:
Wenn Ihr UMDF-Treiber mit Version 1.11 erstellt wurde und unter Windows 8 ausgeführt wird, erstellt der Treiber-Manager standardmäßig eine einzelne instance von Wudfhost, die mehrere Gerätestapel hosten kann. Diese Technik wird als Gerätepooling bezeichnet.
Wenn Ihr UMDF-Treiber mit Version 2 erstellt wurde und auf Windows 8.1 oder Windows 10 ausgeführt wird, ist das Pooling ebenfalls standardmäßig aktiviert.
Wenn Ihr Treiber mit UMDF-Version 1.9 oder früher erstellt wurde, erstellt das Framework für jeden Gerätestapel eine separate instance des Hostprozesses (Wudfhost).
Weitere Informationen zum Gerätepooling finden Sie unter Verwenden von Gerätepooling in UMDF-Treibern.
Jeder Wudfhost.exe Prozess wird in einem eigenen Adressraum ausgeführt und ist daher von Anwendungsprozessen und anderen Instanzen des Treiberhosts isoliert. UMDF-Treiber, die im selben Prozess (Gerätepooling) ausgeführt werden, teilen sich einen Adressraum und sind nicht voneinander isoliert.
Sie können Treiber, die mit UMDF-Versionen 1 und 2 erstellt wurden, gleichzeitig laden, entweder im selben Hostprozess oder in verschiedenen Hostprozessen. Beispielsweise lädt der Treiber-Manager standardmäßig einen UMDF 1.11-Treiber und einen UMDF 2-Treiber im selben Hostprozess auf einem Computer, auf dem Windows 8.1 oder höher ausgeführt wird.
Sie können jedoch keine UMDF-Treiber der Versionen 1 und 2 im selben Gerätestapel laden. Sie können beispielsweise keinen UMDF-Filtertreiber der Version 1 über einem UMDF-Funktionstreiber der Version 2 laden.
Ein Diagramm, das zeigt, wie sich der Treiberhost mit anderen UMDF-Komponenten verhält, finden Sie unter Übersicht über UMDF.