Windows driver-specific property files

The driver property sheets have default settings for all of the tools that MSBuild uses to build any driver project.

The following table summarizes these property sheets and their use in terms of the default settings that MSBuild uses to build different drivers.

Note  In the Windows Driver Kit (WDK) 8, the names of the driver property sheet files included the kit version number (8.0), for example, WindowsDriver8.0.KernelMode.ExportDriver.props.

$(WDKContentRoot)
By default, WDKContentRoot is defined in the registry as: $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Kits\WDK@WDKContentRoot) which points to %programfiles%\Windows Kits\version.

$(WDKContentRoot)\build will have all the core build extensions that are needed to build a driver.

WindowsDriver.Default.props
Defines the versioning constants that are used by any driver. For example, <_NT_TARGET_VERSION_WIN7>0x0601</_NT_TARGET_VERSION_WIN7>.

WindowsDriver.Common.props
Common settings that are required to build all drivers - both kernel mode and user mode.

WindowsDriver.Shared.props
This property file contains shared build settings that are required to build an application as well as a driver. This file is used in all of the WDK toolsets, for example, WindowsKernelModeDriver8.1, WindowsUserModeDriver8.1, and WindowsApplicationForDrivers8.1.

WindowsDriver.$(Platform).props
These settings are common driver settings that MSBuild applies depending upon the target architecture. $(Platform)=Win32|x64

WindowsDriver.KernelMode.props
This property file has common settings that are required to build any kernel-mode binary only. In other words, these settings don’t apply for user-mode drivers and applications.

WindowsDriver.KernelMode.Driver.props
This property file imports the specific kernel-mode driver type props files (for example, WindowsDriver.8.1.KernelMode.KMDF.props)

WindowsDriver.KernelMode.KMDF.props
These property settings contain special settings that have to be applied only when you are building a KMDF driver. MSBuild uses the $(DriverType) property to specify the driver type as KMDF, as in the following example: <DriverType>KMDF</DriverType>

WindowsDriver.KernelMode.Wdm.props
These property settings contain special settings that have to be applied only when you are building a WDM driver. MSBuild uses the $(DriverType) property to specify the driver type as WDM, as in the following example: <DriverType>wdm</DriverType>.

WindowsDriver.KernelMode.Gdidriver.props
These property settings contain special settings that have to be applied only when you are building a GDI driver. MSBuild uses the $(DriverType) property to specify the driver type as Gdidriver, as in the following example: <DriverType>Gdidriver</DriverType>.

WindowsDriver.KernelMode.ExportDriver.props
These property settings contain special settings that have to be applied only when you are building an export driver. MSBuild uses the $(DriverType) property to specify the driver type as ExportDriver, as in the following example: <DriverType>ExportDriver</DriverType>.

WindowsDriver.KernelMode.Miniport.props
These property settings are the special settings that you must apply when you build a miniport driver. MSBuild uses the $(DriverType) property to specify driver type as Miniport, as in the following example: <DriverType>Miniport</DriverType>.

WindowsDriver.LateEvaluation.props
Internal use only. Do not edit or use.

WindowsDriver.masm.props
These property settings contain the settings for building assembly files (MASM) for the supported architectures (platforms).

WindowsDriver.UserMode.props
These property settings are the common settings that are required to build any user-mode driver only. In other words, do not apply these settings for kernel-mode drivers and applications.

WindowsDriver.UserMode.UMDF
These property settings are the special settings that you must apply when you build a UMDF driver. MSBuild uses the $(DriverType) property to specify the driver type as UMDF, as in the following example: <DriverType>UMDF</DriverType>.