Freigeben über


Plattformtoolset

Das Windows Driver Kit (WDK) nutzt das Toolsetfeature der MSBuild-Plattform, um Tools und Bibliotheken bereitzustellen, die für die Treiberentwicklung spezifisch sind. Das Toolset der MSBuild-Plattform ist erweiterbar. Die spezifische Version des Plattformtoolsets, die Sie verwenden möchten, wird von einer MSBuild-Eigenschaft namens PlatformToolset gesteuert. Projekte können zwischen Tools und Bibliotheken wechseln, indem sie die PlatformToolset-Eigenschaft in der Projektdatei festlegen.

Das Windows Driver Kit (WDK) 8.1 stellt die folgenden Plattformtoolsets für die Treiberentwicklung bereit.

PlatformToolset (WDK 8.1) Zweck
WindowsKernelModeDriver8.1 Für Kernelmodustreiber und -komponenten.
WindowsUserModeDriver8.1 Für Benutzermodustreiber und -komponenten.
WindowsApplicationForDrivers8.1 Für jeden Anwendungstyp. Dieses Plattformtoolset bietet Kompatibilität mit den Buildoptionen, die im Windows Driver Kit (WDK) für Windows 7 (WDK 7.1) verwendet werden, und verwendet auch die Standardeinstellungen, die für die Entwicklung von Benutzermodusanwendungen üblich sind, die mit Treibern interagieren. Sie können diese Einstellung verwenden, wenn Sie ein Projekt migrieren oder konvertieren, das mit WDK 7 erstellt wurde.
Visual Studio 2013 (v120) Verwenden Sie für jeden Typ von Windows-Anwendungen (Standard).

Das Windows Driver Kit (WDK) 8 stellte die folgenden Plattformtoolsets für die Treiberentwicklung bereit. Diese Informationen dienen nur als Referenz.

PlatformToolset (WDK 8) Zweck
WindowsKernelModeDriver8.0 Für Kernelmodustreiber und -komponenten.
WindowsUserModeDriver8.0 Für Benutzermodustreiber und -komponenten.
WindowsApplicationForDrivers8.0 Für jeden Anwendungstyp. Dieses Plattformtoolset bietet Kompatibilität mit den Buildoptionen, die im WDK für Windows 7 (WDK 7.1) verwendet werden. Sie können diese Einstellung verwenden, wenn Sie ein Projekt migrieren oder konvertieren, das mit WDK 7 erstellt wurde.
Visual Studio 2012 (v110) Verwenden Sie für jeden Typ von Windows-Anwendungen (Standard).

Hinweis Wenn Sie einen Treiber aus einer der verfügbaren Windows-Treibervorlagen in Visual Studio erstellen, wird die PlatformToolset-Eigenschaft für Sie festgelegt. Sie können das PlatformToolset auch über die Eigenschaftenseite des Treiberprojekts in Visual Studio auswählen. Festlegen des Plattformtoolsets in Visual Studio

  1. Öffnen Sie die Eigenschaftenseiten für Ihr Treiberprojekt. Wählen Sie das Treiberprojekt in Projektmappen-Explorer aus, und halten Sie es gedrückt (oder klicken Sie mit der rechten Maustaste darauf), und wählen Sie Eigenschaften aus.
  2. Wählen Sie auf den Eigenschaftenseiten für das Treiberprojekt Konfigurationseigenschaften und dann Allgemein aus.
  3. Wählen Sie in der Dropdownliste die Eigenschaft Platform Toolset für das Projekt aus.

Beispiel: Festlegen der PlatformToolset-Eigenschaft in einer Visual Studio-Projektdatei (VCXPROJ)

Das folgende Beispiel zeigt, wie die PlatformToolset-Eigenschaft in der Projektdatei festgelegt wird.

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"
      Label="Configuration">
  <ConfigurationType>Driver</ConfigurationType>
  <DriverType>KMDF</DriverType>
  <PlatformToolset>WindowsKernelModeDriver8.1</PlatformToolset>
</PropertyGroup>

Die ConfigurationType-Eigenschaft steuert die Zielerweiterung und den Ausgabetyp für die zu erstellende Binärdatei. Einige der möglichen Werte für diese Eigenschaft sind Application, DynamicLibrary, StaticLibrary und Utility.

Der WDK führt einen neuen Wert für diese Eigenschaft namens Driver ein, um einen Kernelmodustreiber zu erstellen. Wenn Sie diese Eigenschaft auf Driver festlegen, generiert MSBuild eine Treiberdatei mit .sys als Erweiterung. Im Beispiel ist die PlatformToolset-Eigenschaft auf WindowsKernelModeDriver8.1 festgelegt, um einen Kernelmodustreiber zu erstellen. WindowsKernelModeDriver8.1 ist das einzige WDK-Plattformtoolset, das driverConfigurationType erfordert. In diesem Beispiel ist DriverType auf KMDF festgelegt.

Informationen zur PlatformToolset-Eigenschaft für Treiber

PlatformToolset ist eine Reihe von Eigenschaftenblättern, Zielen, Tools und Aufgaben, die zusammenarbeiten, um eine Plattform zu erweitern und zu ändern, um Treiber oder Kernelmoduskomponenten für diese bestimmte Plattform zu erstellen. Für Treiber und verwandte Komponenten und Anwendungen sollte die PlatformToolset-Eigenschaft in der Projektdatei auf WindowsKernelModeDriver8.1, WindowsUserModeDriver8.1 oder WindowsApplicationForDrivers8.1 festgelegt werden. Diese Plattformtoolsets wurden entwickelt, um den vorhandenen Visual Studio C\C++-Toolkettencompiler und -Linker mit anderen WDK-spezifischen Buildtools zu erweitern und die WDK-Header und -Bibliotheken als Ziel zu verwenden. Das Toolset WindowsApplicationForDrivers8.1 bietet Kompatibilität mit den Buildoptionseinstellungen, die im WDK für Windows 7 (WDK 7.1) verfügbar waren, sowie mit den Standardeinstellungen, die für die Entwicklung von Benutzermodusanwendungen üblich sind, die mit Treibern interagieren.

Das Plattformtoolset verfügt über die Standardeinstellungen auf Plattformebene und ziele zum Erstellen eines beliebigen Treiberprojekts. Sie verwenden Standardoptionen für Buildtools wie den Compiler oder Linker, Systeminformationen wie den INCLUDE- oder LIBRARY-Pfad für den WDK und Featureeinstellungen wie verschiedene Eigenschaften, die bei Verwendung von Unicode- oder ANSI-Zeichenfolgen zum Erstellen eines Treiberprojekts festgelegt werden sollen. Wenn Sie eine Windows-Anwendung für den Desktop entwickeln, verwenden Sie nicht das Plattformtoolset WindowsKernelModeDriver8.1, WindowsUserModeDriver8.1 oder WindowsApplicationForDrivers8.1 . Verwenden Sie stattdessen das Plattformtoolset Visual Studio 2013 (v120).

Standardmäßig ist die PlatformToolset-EigenschaftVisual Studio 2013 (v120) sowohl für neu erstellte C++-Projekte im Win32-Benutzermodus als auch für Projekte, die in Visual Studio 2013 konvertiert wurden. In beiden Fällen wird die PlatformToolset-Eigenschaft nicht in die Projektdatei geschrieben.

Wenn Sie eines der Plattformtoolsets für Treiber auswählen, werden die folgenden Eigenschaften festgelegt.

  • ExecutablePath und NativeExecutablePath (PATH)
  • IncludePath (INCLUDE)
  • ReferencePath (LIBPATH)
  • LibraryPath (LIB)
  • SourcePath
  • ExcludedPath

Hinweis Wenn UseEnv nicht auf TRUE, PATH, LIB, INCLUDE festgelegt ist, wird LIBPATH aus den entsprechenden Eigenschaftswerten im Plattformtoolset festgelegt. Wenn UseEnv wie im alten Buildsystem auf TRUE festgelegt ist, werden stattdessen die Werte aus den Umgebungsvariablen für PATH, INCLUDE, LIB und LIBPATH verwendet.

Wo der WDK Dateien installiert, die die treiberspezifischen Plattformtoolsets aktivieren

In der folgenden Tabelle sind die Stellen zusammengefasst, an denen der WDK Dateien installiert, um die Plattformtoolsets für die Treiberentwicklung zu aktivieren.

Pfadvariable BESCHREIBUNG

$(VCTargetsPath)

Standardmäßig ist $(VCTargetsPath) in der Registrierung als $(MSBuildExtensionsPath)<em><FOLDER<>MSBUILDSYNTAXVERSION>) definiert.

Die Versionsnummer ist enthalten, wenn für dieselbe Plattform ein neuer Buildprozess verwendet wird, der über eine neue Syntax verfügt und einen späteren MSBuild erfordert.

Der <ORDNER> ist der Ordner Microsoft.Cpp – $(MSBuildExtensionsPath)\Microsoft.Cpp\4.0\v120.

Dies wird als Syntaxversion und nicht als Toolsversion bezeichnet. Es ist die Assemblyversion der ersten Microsoft.Build.Engine , die die gesamte erforderliche Syntax unterstützt. Microsoft.Cpp gibt den einzigen Ordner an, in dem Visual Studio nach Plattformen sucht.

$(VCTargetsPath)\Platforms$(Platform)\ImportAfter.props

Optionaler Ordner, der normalerweise keine Dateien enthält. Sie können die Plattform anpassen, indem Sie MSBuild-Formatdateien in diesem Ordner speichern. Sie werden am unteren Rand der Plattformeinstellungsdatei importiert, wie durch den Ordner angegeben, in dem sie sich derzeit befinden. Die Reihenfolge, in der Dateien aus diesem Speicherort importiert werden, ist nicht definiert. Die von MSBuild erstellten Dateien sind $(VCTargetsPath)\Platforms$(Platform)\ImportAfter\Microsoft.Cpp. <Plattform>. WindowsKernelModeDriver8.1.props und Microsoft.Cpp. <Plattform>. WindowsUserModeDriver8.1.props, die mehrere WDK-spezifische Props-Dateien importieren.

$(VCTargetsPath)\Platforms$(Platform)\PlatformToolsets$(PlatformToolset)</p>

Für den WDK:

$(PlatformToolset) muss für die Erstellung von Kernelmodustreibern auf WindowsKernelModeDriver8.1 festgelegt, zum Erstellen von Benutzermodustreibern auf WindowsUserModeDriver8.1 festgelegt und für die Kompatibilität mit den Buildoptionen im Windows 7 WDK (WDK 7) auf WindowsApplicationForDrivers8.1 festgelegt werden.

PlatformToolset-Verzeichnis

Beispiel: C:\Programme\MSBuild\Microsoft.Cpp\v4.0\v120\Platforms\Win32\PlatformToolsets\WindowsKernelModeDriver8.1.

Mit dem Verzeichnis PlatformToolsets können Sie später andere Dateitypen hinzufügen – im eigenen Unterordner.

Microsoft.Cpp.$(Platform).$(PlatformToolset).props

Plattformtoolset-Props-Datei

Importiert Props-Dateien, um einen Treiber zu erstellen. Importiert auch die v120-Props-Datei.

Microsoft.Cpp.$(Platform).$(PlatformToolset).targets

Platform Toolset Targets-Datei

Importiert Zieldateien, um einen Treiber zu erstellen. Diese Dateien enthalten <UsingTask-Tags> zum Abrufen der WDK-Aufgaben. Dieses Feature importiert auch v120-Ziele.

$(WDKContentRoot)\build.props

Alle treiberspezifischen Props-Dateien. Diese Dateien enthalten Standardeinstellungen zum Erstellen eines Treibers.

$(WDKContentRoot)\build*.targets

Alle treiberspezifischen Zieldateien. Diese Datei identifiziert die Ziele zum Erstellen eines Treibers.