Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le Kit de pilotes Windows (WDK) tire parti de la fonctionnalité d’ensemble d’outils de plateforme MSBuild pour fournir des outils et des bibliothèques spécifiques au développement de pilotes. La fonctionnalité d’ensemble d’outils de plateforme MSBuild est extensible. La version spécifique de l’ensemble d’outils de plateforme que vous souhaitez utiliser est contrôlée par une propriété MSBuild appelée PlatformToolset. Les projets peuvent basculer entre les outils et les bibliothèques en définissant la propriété PlatformToolset dans le fichier projet.
Le Kit de pilotes Windows (WDK) 8.1 fournit les ensembles d’outils de plateforme suivants pour le développement de pilotes.
| PlatformToolset (WDK 8.1) | Utiliser |
|---|---|
| WindowsKernelModeDriver8.1 | Pour les pilotes et les composants en mode noyau. |
| WindowsUserModeDriver8.1 | Pour les pilotes et composants en mode utilisateur. |
| WindowsApplicationForDrivers8.1 | Pour n’importe quel type d’application. Cet ensemble d’outils de plateforme offre une compatibilité avec les options de génération utilisées dans le Kit de pilotes Windows (WDK) pour Windows 7 (WDK 7.1), et utilise également les paramètres par défaut courants pour le développement d’applications en mode utilisateur qui interagissent avec les pilotes. Vous pouvez utiliser ce paramètre si vous migrez ou convertissez un projet créé à l’aide de WDK 7. |
| Visual Studio 2013 (v120) | Utiliser pour n’importe quel type d’application Windows (valeur par défaut). |
Le Kit de pilotes Windows (WDK) 8 a fourni les ensembles d’outils de plateforme suivants pour le développement de pilotes. Ces informations sont fournies uniquement pour référence.
| PlatformToolset (WDK 8) | Utiliser |
|---|---|
| WindowsKernelModeDriver8.0 | Pour les pilotes et les composants en mode noyau. |
| WindowsUserModeDriver8.0 | Pour les pilotes et composants en mode utilisateur. |
| WindowsApplicationForDrivers8.0 | Pour n’importe quel type d’application. Cet ensemble d’outils de plateforme offre une compatibilité avec les options de génération utilisées dans wdK pour Windows 7 (WDK 7.1). Vous pouvez utiliser ce paramètre si vous migrez ou convertissez un projet créé à l’aide de WDK 7. |
| Visual Studio 2012 (v110) | Utiliser pour n’importe quel type d’application Windows (valeur par défaut). |
Note Si vous créez un pilote à partir de l’un des modèles de pilotes Windows disponibles dans Visual Studio, la propriété PlatformToolset est définie pour vous. Vous pouvez également sélectionner PlatformToolset à l’aide de la page de propriétés du projet de pilote dans Visual Studio. Définition de l’ensemble d’outils de plateforme dans Visual Studio
- Ouvrez la page de propriété de votre projet de driver. Sélectionnez et maintenez la touche enfoncée (ou cliquez avec le bouton droit) sur le projet de pilote dans l’Explorateur de solutions , puis sélectionnez Propriétés.
- Dans les pages de propriétés du projet de pilote, sélectionnez Propriétés de configuration , puis sélectionnez Général.
- Sélectionnez la propriété Platform Toolset pour le projet dans la liste déroulante.
Exemple : définition de la propriété PlatformToolset dans un fichier projet Visual Studio (.vcxproj)
L’exemple suivant montre comment la propriété PlatformToolset est définie dans le fichier projet.
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"
Label="Configuration">
<ConfigurationType>Driver</ConfigurationType>
<DriverType>KMDF</DriverType>
<PlatformToolset>WindowsKernelModeDriver8.1</PlatformToolset>
</PropertyGroup>
La propriété ConfigurationType contrôle l’extension cible et le type de sortie du fichier binaire généré. Certaines des valeurs possibles pour cette propriété sont Application, DynamicLibrary, StaticLibrary et Utility.
WdK introduit une nouvelle valeur pour cette propriété appelée Driver pour générer un pilote en mode noyau. Si vous définissez cette propriété sur Driver, MSBuild génère un fichier de pilote avec .sys comme extension. Dans l’exemple, la propriété PlatformToolset est définie sur WindowsKernelModeDriver8.1 pour générer un pilote en mode noyau. WindowsKernelModeDriver8.1 est le seul ensemble d’outils de plateforme WDK qui requiert DriverConfigurationType. Dans cet exemple, DriverType est défini sur KMDF.
À propos de la propriété PlatformToolset pour les pilotes
PlatformToolset est un ensemble de feuilles de propriétés, cibles, outils et tâches qui fonctionnent ensemble pour étendre et modifier une plateforme afin de générer des pilotes ou des composants en mode noyau pour cette plateforme particulière. Pour les pilotes et les composants et applications associés, la propriété PlatformToolset doit être définie sur WindowsKernelModeDriver8.1, WindowsUserModeDriver8.1 ou WindowsApplicationForDrivers8.1 dans le fichier projet. Ces ensembles d’outils de plateforme sont conçus pour étendre le compilateur et l’éditeur d’outils de chaîne d’outils Visual Studio C\C++ existants avec d’autres outils de génération propres à WDK et cibler les en-têtes et bibliothèques WDK. L’ensemble d’outils WindowsApplicationForDrivers8.1 fournit une compatibilité avec les paramètres d’option de génération disponibles dans le WDK pour Windows 7 (WDK 7.1), ainsi que les paramètres par défaut courants pour le développement d’applications en mode utilisateur qui interagissent avec les pilotes.
L’ensemble d’outils de plateforme a les paramètres et cibles de niveau plateforme par défaut pour générer n’importe quel projet de pilote. Vous utilisez des commutateurs par défaut pour les outils de génération tels que le compilateur ou l’éditeur de liens, les informations système telles que les chemins INCLUDE ou LIBRARY pour le WDK et les paramètres de fonctionnalité tels que différentes propriétés à définir lors de l’utilisation de chaînes Unicode ou ANSI pour générer un projet de pilote. Si vous développez une application Windows pour le bureau, n’utilisez pas l’ensemble d’outils de plateforme WindowsKernelModeDriver8.1, WindowsUserModeDriver8.1 ou WindowsApplicationForDrivers8.1 . Utilisez plutôt l’ensemble d’outils de plateforme Visual Studio 2013 (v120 ).
Par défaut, la propriété PlatformToolset est Visual Studio 2013 (v120) pour les projets et projets C++ nouvellement créés en mode utilisateur Win32 qui ont été convertis en Visual Studio 2013. Dans les deux cas, la propriété PlatformToolset n’est pas écrite dans le fichier projet.
Lorsque vous sélectionnez l’un des ensembles d’outils de plateforme pour les pilotes, les propriétés suivantes sont définies.
- CheminExécutable et CheminExécutableNatif (PATH)
- IncludePath (INCLUDE)
- ReferencePath (LIBPATH)
- LibraryPath (LIB)
- SourcePath
- ExcludedPath
Note Lorsque UseEnv n’est pas défini sur TRUE, PATH, LIB, INCLUDE, LIBPATH est défini à partir des valeurs de propriété correspondantes dans l’ensemble d’outils de plateforme. Lorsque UseEnv a la valeur TRUE, comme dans l’ancien système de génération, les valeurs des variables d’environnement pour PATH, INCLUDE, LIB et LIBPATH seront utilisées à la place.
Où wdK installe des fichiers qui activent les ensembles d’outils de plateforme spécifiques au pilote
Le tableau suivant récapitule les emplacements où wdK installe des fichiers pour activer les ensembles d’outils de plateforme pour le développement de pilotes.
| Variable d'environnement PATH | Descriptif |
|---|---|
$(VCTargetsPath) |
Par défaut, $(VCTargetsPath) est défini dans le Registre en tant que $(MSBuildExtensionsPath)<em><FOLDER<>MSBUILDSYNTAXVERSION)> Le numéro de version est inclus dans le cas où un nouveau processus de génération est utilisé pour la même plateforme, qui a une nouvelle syntaxe et nécessite une msBuild ultérieure. Le <DOSSIER> est le dossier Microsoft.Cpp - $(MSBuildExtensionsPath)\Microsoft.Cpp\4.0\v120. Il s’agit de la version de syntaxe plutôt que de la version des outils. Il s’agit de la version d’assembly du premier Microsoft.Build.Engine qui prend en charge toutes les syntaxes nécessaires. Microsoft.Cpp indique le seul dossier où Visual Studio recherche les plateformes. |
$(VCTargetsPath)\Platforms$(Platform)\ImportAfter.props |
Dossier facultatif qui ne contient pas normalement de fichiers. Vous pouvez personnaliser la plateforme en enregistrant les fichiers de format MSBuild dans ce dossier. Ils seront importés en bas du fichier de paramètres de la plateforme, comme indiqué par le dossier dans lequel ils se trouvent actuellement. L’ordre dans lequel les fichiers sont importés à partir de cet emplacement n’est pas défini. Les fichiers créés par MSBuild sont $(VCTargetsPath)\Platforms$(Platform)\ImportAfter\Microsoft.Cpp. <Plateforme>. WindowsKernelModeDriver8.1.props et Microsoft.Cpp. <Plateforme>. WindowsUserModeDriver8.1.props, qui importent plusieurs fichiers de propriétés propres à WDK. |
$(VCTargetsPath)\Platforms$(Platform)\PlatformToolsets$(PlatformToolset)</p> |
Pour le WDK : Le fichier $(PlatformToolset) doit être défini sur WindowsKernelModeDriver8.1 pour générer des pilotes en mode noyau, défini sur WindowsUserModeDriver8.1 pour générer des pilotes en mode utilisateur et défini sur WindowsApplicationForDrivers8.1 pour la compatibilité avec les options de build utilisées dans windows 7 WDK (WDK 7). Répertoire PlatformToolset Par exemple, C :\Program Files\MSBuild\Microsoft.Cpp\v4.0\v120\Platforms\Win32\PlatformToolsets\WindowsKernelModeDriver8.1. Le répertoire PlatformToolsets vous permet d’ajouter d’autres types de fichiers ultérieurement dans leur propre sous-dossier. |
Microsoft.Cpp.$(Platform).$(PlatformToolset).props |
Fichier de propriétés du toolset de plateforme Importe des fichiers de paramètres pour générer un pilote. Importe également le fichier de props v120. |
Microsoft.Cpp.$(Platform).$(PlatformToolset).targets |
Fichier de cibles de l’ensemble d’outils de plateforme Importe les fichiers cibles pour générer un pilote. Ces fichiers contiennent des <balises UsingTask> pour importer les tâches du WDK. Cette fonctionnalité importe également les cibles v120. |
$(WDKContentRoot)\build.props |
Tous les fichiers d’accessoires spécifiques au pilote. Ces fichiers contiennent des paramètres par défaut pour générer un pilote. |
$(WDKContentRoot)\build*.targets |
Tous les fichiers cibles spécifiques du pilote. Ce fichier identifie les cibles pour compiler un pilote. |