Erstellen und Laden eines WDF-Treibers

In diesem Thema wird beschrieben, wie Sie ein Zielbetriebssystem und eine Frameworkversion für ein Treiberprojekt in Visual Studio auswählen.

Informationen dazu, ob Sie verteilbare Frameworkkomponenten in Ihr Treiberpaket einschließen müssen, finden Sie unter Redistributable Framework Components.

Welche Frameworkversion sollte ich verwenden?

  • Verwenden Sie WDF 1.9 oder früher, um Windows XP als Ziel zu verwenden.
  • Verwenden Sie WDF 1.11 oder früher, um Windows Vista, Windows 7 oder Windows 8 als Ziel zu verwenden.
  • Um Windows 8.1 als Ziel zu verwenden, verwenden Sie KMDF 1.13 oder früher oder UMDF 1.x oder UMDF 2.0.
  • Um Windows 10 Version 1507 als Ziel zu verwenden, verwenden Sie KMDF 1.15 oder früher oder UMDF 1.x oder UMDF 2.15 oder früher.

Ausführliche Informationen zu KMDF- und UMDF-Versionen finden Sie unter KMDF-Versionsverlauf und UMDF-Versionsverlauf.

Gewusst wie die Versionen in Visual Studio festlegen?

Wenn Sie Ihr Treiberprojekt für die neueste Version von Windows und die neueste KMDF- oder UMDF-Version erstellen, können Sie die Standardwerte beibehalten und diesen Schritt überspringen.

Führen Sie andernfalls die folgenden Schritte aus:

  • Klicken Sie mit der rechten Maustaste auf die Projektmappe, und wählen Sie Configuration Manager aus. Legen Sie Project Configuration auf den gewünschten Wert fest (z. B . Debuggen).
  • Klicken Sie mit der rechten Maustaste auf das Treiberprojekt, und wählen Sie Eigenschaften aus. Öffnen Sie Konfigurationseigenschaften-Treibereinstellungen-Treibermodell>>. Ändern Sie den Wert kmDF Version Minor (Zielversion) oder UMDF Version Minor (Zielversion) in den Einstellungen des Treibermodells in den gewünschten Wert. Informationen zu KMDF-Version Minor (Minimum Required) und UMDF-Version Minor (Minimum Erforderlich) finden Sie unter Angeben des Minimums erforderlich.

Sie können das Windows Driver Kit (WDK) verwenden, das im Lieferumfang von Windows 10 enthalten ist, um KMDF 1.9-1.29-Treiber sowie UMDF 1.9-2.29-Treiber zu erstellen.

Ausführliche Informationen zu KMDF- und UMDF-Versionen finden Sie unter KMDF-Versionsverlauf und UMDF-Versionsverlauf.

Verknüpfen und Laden

Wenn Sie ein WDF-Projekt (Windows Driver Frameworks) in Microsoft Visual Studio erstellen, verknüpft MSBuild Ihren Treiber mit der entsprechenden Frameworkbibliothek, dem Ladeprogramm der Bibliothek und einer Stubdatei, die alle im WDK enthalten sind. (Die Bibliothek und das Ladeprogramm sind auch im Co-Installer des Frameworks enthalten, sodass Sie sie bei Bedarf mit Ihrem Treiberpaket verteilen können.)

Die Stubdatei enthält eine spezielle Einstiegspunktroutine: FxDriverEntry. MSBuild legt die FxDriverEntry-Routine des Stubs als ersten Einstiegspunkt für frameworkbasierte Treiber fest.

Wenn das Betriebssystem einen frameworkbasierten Treiber lädt, lädt es auch die Stubdatei und das Ladeprogramm der Bibliothek. Als Nächstes ruft das System die FxDriverEntry-Routine der Stubdatei auf. Diese Routine ruft dann den Ladevorgang auf. Das Ladeprogramm bestimmt die Version der Frameworkbibliothek, die der Treiber benötigt, und lädt dann die richtige Version der Bibliothek als Kernelmodusdienst (sofern sie nicht bereits geladen ist). Schließlich ruft die Bibliothek die DriverEntry-Routine des Treibers auf.