Delen via


Platformhulpprogramma's

De Windows Driver Kit (WDK) maakt gebruik van de msBuild-platformhulpprogrammasetfunctie om hulpprogramma's en bibliotheken te bieden die specifiek zijn voor de ontwikkeling van stuurprogramma's. De extensiefunctie van het MSBuild-platformhulpprogramma is uitbreidbaar. De specifieke versie van de platformhulpprogrammaset die u wilt gebruiken, wordt beheerd door een MSBuild-eigenschap met de naam PlatformToolset. Projecten kunnen schakelen tussen hulpprogramma's en bibliotheken door de eigenschap PlatformToolset in te stellen in het projectbestand.

De Windows Driver Kit (WDK) 8.1 biedt de volgende platformhulpprogramma's voor het ontwikkelen van stuurprogramma's.

PlatformToolset (WDK 8.1) Gebruik
WindowsKernelModeDriver8.1 Voor kernelmodusstuurprogramma's en onderdelen.
WindowsUserModeDriver8.1 Voor stuurprogramma's en onderdelen in de gebruikersmodus.
WindowsApplicationForDrivers8.1 Voor elk type toepassing. Deze platformhulpprogrammaset biedt compatibiliteit met de buildopties die worden gebruikt in de Windows Driver Kit (WDK) voor Windows 7 (WDK 7.1) en maakt ook gebruik van de standaardinstellingen die gebruikelijk zijn voor de ontwikkeling van toepassingen in de gebruikersmodus die communiceren met stuurprogramma's. U kunt deze instelling gebruiken als u een project migreert of converteert dat is gebouwd met WDK 7.
Visual Studio 2013 (v120) Gebruiken voor elk type Windows-toepassing (standaard).

De Windows Driver Kit (WDK) 8 biedt de volgende platformhulpprogramma's voor het ontwikkelen van stuurprogramma's. Deze informatie wordt alleen ter referentie verstrekt.

PlatformToolset (WDK 8) Gebruik
WindowsKernelModeDriver8.0 Voor kernelmodusstuurprogramma's en onderdelen.
WindowsUserModeDriver8.0 Voor stuurprogramma's en onderdelen in de gebruikersmodus.
WindowsApplicationForDrivers8.0 Voor elk type toepassing. Deze platformhulpprogrammaset biedt compatibiliteit met de buildopties die worden gebruikt in de WDK voor Windows 7 (WDK 7.1). U kunt deze instelling gebruiken als u een project migreert of converteert dat is gebouwd met WDK 7.
Visual Studio 2012 (v110) Gebruiken voor elk type Windows-toepassing (standaard).

Notitie Als u een stuurprogramma maakt op basis van een van de beschikbare Windows-stuurprogrammasjablonen in Visual Studio, is de eigenschap PlatformToolset voor u ingesteld. U kunt platformtoolset ook selecteren met behulp van de eigenschappenpagina van het stuurprogrammaproject in Visual Studio. De platformhulpprogramma's instellen in Visual Studio

  1. Open de eigenschappenpagina's voor uw stuurprogrammaproject. Selecteer en houd het stuurprogrammaproject in Solution Explorer ingedrukt (of klik erop met de rechtermuisknop) en selecteer Eigenschappen.
  2. Selecteer configuratie-eigenschappen op de eigenschappenpagina's voor het stuurprogrammaproject en selecteer vervolgens Algemeen.
  3. Selecteer de eigenschap Platform Toolset voor het project in de vervolgkeuzelijst.

Voorbeeld: de eigenschap PlatformToolset instellen in een Visual Studio-projectbestand (.vcxproj)

In het volgende voorbeeld ziet u hoe de eigenschap PlatformToolset is ingesteld in het projectbestand.

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

De eigenschap ConfigurationType bepaalt de doelextensie en het uitvoertype voor het binaire bestand dat wordt gebouwd. Enkele van de mogelijke waarden voor deze eigenschap zijn Application, DynamicLibrary, StaticLibrary en Utility.

De WDK introduceert een nieuwe waarde voor deze eigenschap driver om een kernelmodusstuurprogramma te bouwen. Als u deze eigenschap instelt op Driver, genereert MSBuild een stuurprogrammabestand met .sys als extensie. In het voorbeeld is de eigenschap PlatformToolset ingesteld op WindowsKernelModeDriver8.1 om een kernelmodusstuurprogramma te bouwen. WindowsKernelModeDriver8.1 is de enige WDK-platformhulpprogrammaset waarvoor het DriverConfigurationType is vereist. In dit voorbeeld is het DriverType ingesteld op KMDF.

Over de eigenschap PlatformToolset voor stuurprogramma's

PlatformToolset is een set eigenschapbladen, targets, tools en taken die samenwerken om een platform uit te breiden en te wijzigen om stuurprogramma's of kernelmoduscomponenten voor dat specifieke platform te bouwen. Voor stuurprogramma's en gerelateerde onderdelen en toepassingen moet de eigenschap PlatformToolset worden ingesteld op WindowsKernelModeDriver8.1, WindowsUserModeDriver8.1 of WindowsApplicationForDrivers8.1 in het projectbestand. Deze platformtoolsets zijn ontworpen om de bestaande Visual Studio C\C++ toolketencompiler en linker uit te breiden met andere WDK-specifieke buildhulpprogramma's en ze zijn bedoeld voor de WDK-headers en -bibliotheken. De hulpprogrammaset WindowsApplicationForDrivers8.1 biedt compatibiliteit met de buildoptie-instellingen die beschikbaar waren in de WDK voor Windows 7 (WDK 7.1), en ook de standaardinstellingen die gebruikelijk zijn voor het ontwikkelen van toepassingen in de gebruikersmodus die communiceren met stuurprogramma's.

De Platform Toolset bevat de standaardinstellingen op platformniveau en targets om een stuurprogrammaproject te bouwen. U gebruikt standaardswitches voor buildhulpprogramma's zoals de compiler of linker, systeeminformatie zoals de paden INCLUDE of LIBRARY voor de WDK en functie-instellingen zoals verschillende eigenschappen die moeten worden ingesteld bij het gebruik van Unicode- of ANSI-tekenreeksen om een stuurprogrammaproject te bouwen. Als u een Windows-toepassing voor het bureaublad ontwikkelt, gebruikt u niet de platformhulpprogramma'set WindowsKernelModeDriver8.1, WindowsUserModeDriver8.1 of WindowsApplicationForDrivers8.1 . Gebruik in plaats daarvan de platformhulpprogramma'sset van Visual Studio 2013 (v120 ).

Standaard is de eigenschap PlatformToolsetVisual Studio 2013 (v120) voor nieuw gemaakte C++-projecten en projecten in de Win32-gebruikersmodus die zijn geconverteerd naar Visual Studio 2013. In beide gevallen wordt de eigenschap PlatformToolset niet naar het projectbestand geschreven.

Wanneer u een van de platformhulpprogramma's voor stuurprogramma's selecteert, worden de volgende eigenschappen ingesteld.

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

Notitie Wanneer UseEnv niet is ingesteld op TRUE, PATH, LIB, INCLUDE, LIBPATH, wordt ingesteld op basis van de bijbehorende eigenschapswaarden in de platformhulpprogrammaset. Wanneer UseEnv is ingesteld op TRUE, zoals in het oude buildsysteem, worden de waarden van de omgevingsvariabelen voor PATH, INCLUDE, LIB en LIBPATH gebruikt.

Waar de WDK bestanden installeert die de stuurprogramma-specifieke platformtoolsets inschakelen

De volgende tabel bevat een overzicht van de plaatsen waar de WDK bestanden installeert om de platformhulpprogramma'sets in te schakelen voor het ontwikkelen van stuurprogramma's.

Padvariabele Beschrijving

$(VCTargetsPath)

Standaard wordt $(VCTargetsPath) gedefinieerd in het register als $(MSBuildExtensionsPath)<em><FOLDER<>MSBUILDSYNTAXVERSION)>

Het versienummer is opgenomen in het geval er een nieuw buildproces wordt gebruikt voor hetzelfde platform, dat nieuwe syntaxis heeft en een latere MSBuild vereist.

De <map> is de map Microsoft.Cpp - $(MSBuildExtensionsPath)\Microsoft.Cpp\4.0\v120.

Dit wordt syntaxisversie genoemd in plaats van hulpprogrammaversie. Het is de assemblyversie van de eerste Microsoft.Build.Engine die alle benodigde syntaxis ondersteunt. Microsoft.Cpp geeft de enige map aan waarin Visual Studio naar platforms zoekt.

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

Optionele map die normaal gesproken geen bestanden bevat. U kunt het platform aanpassen door bestanden in MSBuild-indeling op te slaan in deze map. Ze worden onder aan het bestand met platforminstellingen geïmporteerd, zoals aangegeven door de map waarin ze zich momenteel bevinden. De volgorde waarin bestanden vanaf deze locatie worden geïmporteerd, is niet gedefinieerd. De bestanden die MSBuild maakt, zijn $(VCTargetsPath)\Platforms$(Platform)\ImportAfter\Microsoft.Cpp. <Platform>. WindowsKernelModeDriver8.1.props en Microsoft.Cpp. <Platform>. WindowsUserModeDriver8.1.props, waarmee verschillende WDK-specifieke props-bestanden worden geïmporteerd.

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

Voor de WDK:

De $(PlatformToolset) moet zijn ingesteld op WindowsKernelModeDriver8.1 voor het bouwen van kernelmodusstuurprogramma's, ingesteld op WindowsUserModeDriver8.1 voor het bouwen van stuurprogramma's voor de gebruikersmodus en ingesteld op WindowsApplicationForDrivers8.1 voor compatibiliteit met de build-opties die worden gebruikt in de Windows 7 WDK (WDK 7).

PlatformToolset Directory

Bijvoorbeeld C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\v120\Platforms\Win32\PlatformToolsets\WindowsKernelModeDriver8.1.

Met de map PlatformToolsets kunt u later andere typen bestanden toevoegen, in hun eigen submap.

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

Platform Toolset Props-bestand

Importeert props-bestanden om een stuurprogramma te bouwen. Importeert ook v120 props-bestand.

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

Platformtoolset-doelenbestand

Hiermee importeert u doelbestanden om een stuurprogramma te maken. Deze bestanden bevatten <UsingTask-tags> om de WDK-taken op te halen. Met deze functie worden ook v120-doelen geïmporteerd.

$(WDKContentRoot)\build.props

Alle stuurprogrammaspecifieke props-bestanden. Deze bestanden bevatten standaardinstellingen voor het bouwen van een stuurprogramma.

$(WDKContentRoot)\build*.targets

Alle stuurprogramma-specifieke doelbestanden. Dit bestand identificeert de doelen voor het bouwen van een stuurprogramma.