Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El Kit de controladores de Windows (WDK) aprovecha la característica del conjunto de herramientas de plataforma de MSBuild para proporcionar herramientas y bibliotecas específicas para el desarrollo de controladores. La característica del conjunto de herramientas de plataforma de MSBuild es extensible. La versión específica del conjunto de herramientas de plataforma que quiere usar se controla mediante una propiedad de MSBuild denominada PlatformToolset. Los proyectos pueden cambiar entre herramientas y bibliotecas estableciendo la propiedad PlatformToolset en el archivo de proyecto.
Windows Driver Kit (WDK) 8.1 proporciona los siguientes conjuntos de herramientas de plataforma para el desarrollo de controladores.
| PlatformToolset (WDK 8.1) | Uso |
|---|---|
| WindowsKernelModeDriver8.1 | Para controladores y componentes de modo kernel. |
| WindowsUserModeDriver8.1 | Para los controladores y componentes en modo de usuario. |
| WindowsApplicationForDrivers8.1 | Para cualquier tipo de aplicación. Este conjunto de herramientas de plataforma proporciona compatibilidad con las opciones de compilación usadas en el Kit de controladores de Windows (WDK) para Windows 7 (WDK 7.1) y también usa la configuración predeterminada que es común para el desarrollo de aplicaciones en modo de usuario que interactúan con controladores. Puede usar esta configuración si va a migrar o convertir un proyecto que se creó mediante WDK 7. |
| Visual Studio 2013 (v120) | Use para cualquier tipo de aplicación de Windows (valor predeterminado). |
El Kit de controladores de Windows (WDK) 8 proporcionó los siguientes conjuntos de herramientas de plataforma para el desarrollo de controladores. Esta información solo se proporciona como referencia.
| PlatformToolset (WDK 8) | Uso |
|---|---|
| WindowsKernelModeDriver8.0 | Para los componentes y controladores en modo kernel. |
| WindowsUserModeDriver8.0 | Para los controladores y componentes en modo de usuario. |
| WindowsApplicationForDrivers8.0 | Para cualquier tipo de aplicación. Este conjunto de herramientas de plataforma proporciona compatibilidad con las opciones de compilación usadas en WDK para Windows 7 (WDK 7.1). Puede usar esta configuración si va a migrar o convertir un proyecto que se creó mediante WDK 7. |
| Visual Studio 2012 (v110) | Use para cualquier tipo de aplicación de Windows (valor predeterminado). |
Nota Si crea un controlador a partir de una de las plantillas de controlador de Windows disponibles en Visual Studio, la propiedad PlatformToolset se establece automáticamente. También puede seleccionar PlatformToolset mediante la página de propiedades del proyecto de controlador en Visual Studio. Establecimiento del conjunto de herramientas de plataforma en Visual Studio
- Abra las páginas de propiedades del proyecto de controlador. Seleccione y mantenga presionado (o haga clic con el botón derecho) en el proyecto de controlador en el Explorador de soluciones y seleccione Propiedades.
- En las páginas de propiedades del proyecto de controlador, seleccione Propiedades de configuración y, a continuación, seleccione General.
- Seleccione la propiedad Platform Toolset para el proyecto en la lista desplegable.
Ejemplo: Establecimiento de la propiedad PlatformToolset en un archivo de proyecto de Visual Studio (.vcxproj)
En el ejemplo siguiente se muestra cómo se establece la propiedad PlatformToolset en el archivo de proyecto.
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"
Label="Configuration">
<ConfigurationType>Driver</ConfigurationType>
<DriverType>KMDF</DriverType>
<PlatformToolset>WindowsKernelModeDriver8.1</PlatformToolset>
</PropertyGroup>
La propiedad ConfigurationType controla la extensión de destino y el tipo de salida para el binario que se está compilando. Algunos de los valores posibles para esta propiedad son Application, DynamicLibrary, StaticLibrary y Utility.
WDK presenta un nuevo valor para esta propiedad denominada Driver para compilar un controlador en modo kernel. Si establece esta propiedad en Driver, MSBuild generará un archivo de controlador con .sys como extensión. En el ejemplo, la propiedad PlatformToolset se establece en WindowsKernelModeDriver8.1 para compilar un controlador en modo kernel. WindowsKernelModeDriver8.1 es el único conjunto de herramientas de la plataforma WDK que requiere DriverConfigurationType. En este ejemplo, driverType se establece en KMDF.
Acerca de la propiedad PlatformToolset para controladores
PlatformToolset es un conjunto de hojas de propiedades, destinos, herramientas y tareas que funcionan conjuntamente para ampliar y modificar una plataforma con el fin de compilar controladores o componentes en modo kernel para esa plataforma determinada. Para controladores y componentes y aplicaciones relacionados, la propiedad PlatformToolset debe establecerse en WindowsKernelModeDriver8.1, WindowsUserModeDriver8.1 o WindowsApplicationForDrivers8.1 en el archivo del proyecto. Estos conjuntos de herramientas de plataforma están diseñados para ampliar el compilador y enlazador de cadenas de herramientas de Visual Studio C\C++ existentes con otras herramientas de compilación específicas de WDK y tener como destino los encabezados y bibliotecas de WDK. El conjunto de herramientas WindowsApplicationForDrivers8.1 proporciona compatibilidad con la configuración de opciones de compilación que estaban disponibles en WDK para Windows 7 (WDK 7.1) y también con la configuración predeterminada que son comunes para el desarrollo de aplicaciones en modo de usuario que interactúan con controladores.
Platform Toolset tiene la configuración predeterminada a nivel de plataforma y los objetivos para compilar cualquier proyecto de controlador. Utiliza opciones predeterminadas para herramientas de compilación como el compilador o enlazador, rutas del sistema como las rutas INCLUDE o LIBRARY para el WDK, y ajustes de características como diversas propiedades configuradas al usar cadenas Unicode o ANSI para compilar un proyecto de controlador. Si está desarrollando una aplicación de Windows para el escritorio, no use el conjunto de herramientas de plataforma WindowsKernelModeDriver8.1, WindowsUserModeDriver8.1 o WindowsApplicationForDrivers8.1 . En su lugar, use el conjunto de herramientas de plataforma de Visual Studio 2013 (v120).
De forma predeterminada, la propiedad PlatformToolset es Visual Studio 2013 (v120) tanto para los proyectos de C++ en modo de usuario Win32 recién creados como para los que se han convertido a Visual Studio 2013. En ambos casos, la propiedad PlatformToolset no se escribe en el archivo del proyecto.
Al seleccionar uno de los conjuntos de herramientas de la plataforma para controladores, se establecen las siguientes propiedades.
- ExecutablePath y NativeExecutablePath (PATH)
- IncludePath (INCLUDE)
- ReferencePath (LIBPATH)
- Ruta de Biblioteca (LIB)
- SourcePath
- ExcludedPath
Nota Cuando UseEnv no está establecido en TRUE, PATH, LIB, INCLUDE, LIBPATH se establecerá desde los valores de propiedad correspondientes del conjunto de herramientas de la plataforma. Cuando UseEnv se establece en TRUE, como en el sistema de compilación anterior, los valores de las variables de entorno para PATH, INCLUDE, LIB y LIBPATH se usarán en su lugar.
Donde WDK instala archivos que habilitan los conjuntos de herramientas de plataforma específicos del controlador
En la tabla siguiente se resumen los lugares en los que WDK instala archivos para habilitar los conjuntos de herramientas de plataforma para el desarrollo de controladores.
| Variable de entorno de ruta | Descripción |
|---|---|
$(VCTargetsPath) |
De forma predeterminada, $(VCTargetsPath) se define en el Registro como $(MSBuildExtensionsPath)<em><FOLDER><MSBUILDSYNTAXVERSION>) El número de versión se incluye en caso de que se use un nuevo proceso de compilación para la misma plataforma, que tiene una nueva sintaxis y requiere un MSBuild posterior. La <carpeta FOLDER> es la carpeta Microsoft.Cpp - $(MSBuildExtensionsPath)\Microsoft.Cpp\4.0\v120. Esto se denomina versión de sintaxis en lugar de la versión de herramientas. Es la versión de ensamblaje del primer Microsoft.Build.Engine que admite toda la sintaxis necesaria. Microsoft.Cpp indica la única carpeta donde Visual Studio buscará plataformas. |
$(VCTargetsPath)\Platforms$(Platform)\ImportAfter.props |
Carpeta opcional que normalmente no contiene archivos. Puede personalizar la plataforma guardando los archivos de formato de MSBuild en esta carpeta. Se importarán en la parte inferior del archivo de configuración de la plataforma, como se indica en la carpeta en la que se encuentran actualmente. El orden en el que los archivos se importan desde esta ubicación no está definido. Los archivos creados por MSBuild son $(VCTargetsPath)\Platforms$(Platform)\ImportAfter\Microsoft.Cpp.<Plataforma>.WindowsKernelModeDriver8.1.props y Microsoft.Cpp.<Plataforma>.WindowsUserModeDriver8.1.props, que importan varios archivos de definición de propiedades específicos para WDK. |
$(VCTargetsPath)\Platforms$(Platform)\PlatformToolsets$(PlatformToolset)</p> |
Para el WDK: $(PlatformToolset) debe establecerse en WindowsKernelModeDriver8.1 para compilar controladores de modo kernel, establecerlo en WindowsUserModeDriver8.1 para compilar controladores de modo de usuario y establecerlo en WindowsApplicationForDrivers8.1 para la compatibilidad con las opciones de compilación usadas en windows 7 WDK (WDK 7). PlatformToolset Directory Por ejemplo, C:\Archivos de programa\MSBuild\Microsoft.Cpp\v4.0\v120\Platforms\Win32\PlatformToolsets\WindowsKernelModeDriver8.1. El directorio PlatformToolsets permite agregar otros tipos de archivos más adelante, en su propia subcarpeta. |
Microsoft.Cpp.$(Platform).$(PlatformToolset).props |
Archivo de props del conjunto de herramientas de la plataforma Importa archivos de propiedades para compilar un controlador. También importa el archivo de propiedades v120. |
Microsoft.Cpp.$(Platform).$(PlatformToolset).targets |
Archivo de destinos del conjunto de herramientas de la plataforma Importa los archivos de destino para compilar un controlador. Estos archivos contienen <etiquetas UsingTask> para importar las tareas del WDK. Esta característica también importa objetivos v120. |
$(WDKContentRoot)\build.props |
Todos los archivos de propiedades específicos del controlador. Estos archivos contienen la configuración predeterminada para compilar un controlador. |
$(WDKContentRoot)\build*.targets |
Todos los archivos de destinos específicos del controlador. Este archivo identifica los objetivos para construir un controlador. |