<!--
***********************************************************************************************
WARNING:  DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
          created a backup copy.  Incorrect changes to this file will make it
          impossible to load or build your projects from the command-line or the IDE.

Copyright (C) Microsoft Corporation. All rights reserved.
***********************************************************************************************
-->

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- *******************************************************************************************
        This file is for properties specific to the kernel mode driver toolset.

        These item metadata and properties depend on properties that are specific to each project.
        The values must be updated after the project has been loaded and evaluated.
        Hence we update the properties using a target, which is evaluated after the project
       ******************************************************************************************* -->
  <PropertyGroup>
    <KmdfVersion Condition="'$(KmdfVersion)' == ''">$(KMDF_VERSION_MAJOR).$(KMDF_VERSION_MINOR)</KmdfVersion>
    <SpbVersion Condition="'$(SpbVersion)' == ''">$(SPB_VERSION_MAJOR).$(SPB_VERSION_MINOR)</SpbVersion>
  </PropertyGroup>

  <Choose>
    <When Condition="'$(KmdfVersion)' == '1.35' and $(_NT_TARGET_VERSION) &gt;= $(_NT_TARGET_VERSION_WIN11_GE)">
      <PropertyGroup>
        <KMDF_VERSION_MAJOR>1</KMDF_VERSION_MAJOR>
        <KMDF_VERSION_MINOR>35</KMDF_VERSION_MINOR>
        <KMDF_VERSION_MAJOR_STRING>01</KMDF_VERSION_MAJOR_STRING>
        <KMDF_VERSION_MINOR_STRING>035</KMDF_VERSION_MINOR_STRING>
      </PropertyGroup>
    </When>
    <When Condition="'$(KmdfVersion)' == '1.33' and $(_NT_TARGET_VERSION) &gt;= $(_NT_TARGET_VERSION_WIN10_FE)">
      <PropertyGroup>
        <KMDF_VERSION_MAJOR>1</KMDF_VERSION_MAJOR>
        <KMDF_VERSION_MINOR>33</KMDF_VERSION_MINOR>
        <KMDF_VERSION_MAJOR_STRING>01</KMDF_VERSION_MAJOR_STRING>
        <KMDF_VERSION_MINOR_STRING>033</KMDF_VERSION_MINOR_STRING>
      </PropertyGroup>
    </When>
    <When Condition="'$(KmdfVersion)' == '1.31' and $(_NT_TARGET_VERSION) &gt;= $(_NT_TARGET_VERSION_WIN10_VB)">
      <PropertyGroup>
        <KMDF_VERSION_MAJOR>1</KMDF_VERSION_MAJOR>
        <KMDF_VERSION_MINOR>31</KMDF_VERSION_MINOR>
        <KMDF_VERSION_MAJOR_STRING>01</KMDF_VERSION_MAJOR_STRING>
        <KMDF_VERSION_MINOR_STRING>031</KMDF_VERSION_MINOR_STRING>
      </PropertyGroup>
    </When>
    <When Condition="'$(KmdfVersion)' == '1.27' and $(_NT_TARGET_VERSION) &gt;= $(_NT_TARGET_VERSION_WIN10_RS5)">
      <PropertyGroup>
        <KMDF_VERSION_MAJOR>1</KMDF_VERSION_MAJOR>
        <KMDF_VERSION_MINOR>27</KMDF_VERSION_MINOR>
        <KMDF_VERSION_MAJOR_STRING>01</KMDF_VERSION_MAJOR_STRING>
        <KMDF_VERSION_MINOR_STRING>027</KMDF_VERSION_MINOR_STRING>
      </PropertyGroup>
    </When>
    <When Condition="'$(KmdfVersion)' == '1.25' and $(_NT_TARGET_VERSION) &gt;= $(_NT_TARGET_VERSION_WIN10_RS4)">
      <PropertyGroup>
        <KMDF_VERSION_MAJOR>1</KMDF_VERSION_MAJOR>
        <KMDF_VERSION_MINOR>25</KMDF_VERSION_MINOR>
        <KMDF_VERSION_MAJOR_STRING>01</KMDF_VERSION_MAJOR_STRING>
        <KMDF_VERSION_MINOR_STRING>025</KMDF_VERSION_MINOR_STRING>
      </PropertyGroup>
    </When>
    <When Condition="'$(KmdfVersion)' == '1.23' and $(_NT_TARGET_VERSION) &gt;= $(_NT_TARGET_VERSION_WIN10_RS3)">
      <PropertyGroup>
        <KMDF_VERSION_MAJOR>1</KMDF_VERSION_MAJOR>
        <KMDF_VERSION_MINOR>23</KMDF_VERSION_MINOR>
        <KMDF_VERSION_MAJOR_STRING>01</KMDF_VERSION_MAJOR_STRING>
        <KMDF_VERSION_MINOR_STRING>023</KMDF_VERSION_MINOR_STRING>
      </PropertyGroup>
    </When>
    <When Condition="'$(KmdfVersion)' == '1.21' and $(_NT_TARGET_VERSION) &gt;= $(_NT_TARGET_VERSION_WIN10_RS2)">
      <PropertyGroup>
        <KMDF_VERSION_MAJOR>1</KMDF_VERSION_MAJOR>
        <KMDF_VERSION_MINOR>21</KMDF_VERSION_MINOR>
        <KMDF_VERSION_MAJOR_STRING>01</KMDF_VERSION_MAJOR_STRING>
        <KMDF_VERSION_MINOR_STRING>021</KMDF_VERSION_MINOR_STRING>
      </PropertyGroup>
    </When>
    <When Condition="'$(KmdfVersion)' == '1.19' and $(_NT_TARGET_VERSION) &gt;= $(_NT_TARGET_VERSION_WIN10_RS1)">
      <PropertyGroup>
        <KMDF_VERSION_MAJOR>1</KMDF_VERSION_MAJOR>
        <KMDF_VERSION_MINOR>19</KMDF_VERSION_MINOR>
        <KMDF_VERSION_MAJOR_STRING>01</KMDF_VERSION_MAJOR_STRING>
        <KMDF_VERSION_MINOR_STRING>019</KMDF_VERSION_MINOR_STRING>
      </PropertyGroup>
    </When>
    <When Condition="'$(KmdfVersion)' == '1.17' and $(_NT_TARGET_VERSION) &gt;= $(_NT_TARGET_VERSION_WIN10_TH2)">
      <PropertyGroup>
        <KMDF_VERSION_MAJOR>1</KMDF_VERSION_MAJOR>
        <KMDF_VERSION_MINOR>17</KMDF_VERSION_MINOR>
        <KMDF_VERSION_MAJOR_STRING>01</KMDF_VERSION_MAJOR_STRING>
        <KMDF_VERSION_MINOR_STRING>017</KMDF_VERSION_MINOR_STRING>
      </PropertyGroup>
    </When>
    <When Condition="'$(KmdfVersion)' == '1.15' and $(_NT_TARGET_VERSION) &gt;= $(_NT_TARGET_VERSION_WIN10)">
      <PropertyGroup>
        <KMDF_VERSION_MAJOR>1</KMDF_VERSION_MAJOR>
        <KMDF_VERSION_MINOR>15</KMDF_VERSION_MINOR>
        <KMDF_VERSION_MAJOR_STRING>01</KMDF_VERSION_MAJOR_STRING>
        <KMDF_VERSION_MINOR_STRING>015</KMDF_VERSION_MINOR_STRING>
      </PropertyGroup>
    </When>
    <Otherwise>
      <PropertyGroup>
        <UnknownKmdfVersion>true</UnknownKmdfVersion>
      </PropertyGroup>
    </Otherwise>
  </Choose>

  <PropertyGroup>
    <!-- Valid on Win10 RS4 and above, and 25 <= KMDF_MINIMUM_VERSION_REQUIRED <= KMDF_VERSION_MINOR -->
    <UnknownKmdfMinimumVersionRequired Condition="$(KMDF_MINIMUM_VERSION_REQUIRED) != '' And $(_NT_TARGET_VERSION) &lt; $(_NT_TARGET_VERSION_WIN10_RS4)">true</UnknownKmdfMinimumVersionRequired>
    <UnknownKmdfMinimumVersionRequired Condition="$(KMDF_MINIMUM_VERSION_REQUIRED) != '' And $(KMDF_MINIMUM_VERSION_REQUIRED) &lt; 25">true</UnknownKmdfMinimumVersionRequired>
    <UnknownKmdfMinimumVersionRequired Condition="$(KMDF_MINIMUM_VERSION_REQUIRED) != '' And $(KMDF_MINIMUM_VERSION_REQUIRED) &gt; $(KMDF_VERSION_MINOR)">true</UnknownKmdfMinimumVersionRequired>
  </PropertyGroup>

  <Choose>
    <When Condition="'$(SpbVersion)' == '1.0'">
      <PropertyGroup>
        <SPB_VERSION_MAJOR>1</SPB_VERSION_MAJOR>
        <SPB_VERSION_MINOR>0</SPB_VERSION_MINOR>
      </PropertyGroup>
    </When>
    <When Condition="'$(SpbVersion)' == '1.1'">
      <PropertyGroup>
        <SPB_VERSION_MAJOR>1</SPB_VERSION_MAJOR>
        <SPB_VERSION_MINOR>1</SPB_VERSION_MINOR>
      </PropertyGroup>
    </When>
    <Otherwise>
      <PropertyGroup>
        <UnknownSpbVersion>true</UnknownSpbVersion>
      </PropertyGroup>
    </Otherwise>
  </Choose>

  <PropertyGroup>
    <KMDF_VER_PATH>$(KMDF_VERSION_MAJOR).$(KMDF_VERSION_MINOR)</KMDF_VER_PATH>
    <IncludePath Condition="'$(IsKernelModeToolset)'=='true' and '$(DriverType)' == 'KMDF'">$(IncludePath);$(KMDF_INC_PATH)$(KMDF_VER_PATH)</IncludePath>
  </PropertyGroup>

  <!-- Define kernel-mode-specific defaults for StampInf -->
  <ItemDefinitionGroup>
    <Inf>
      <KmdfVersionNumber Condition="'%(Inf.KmdfVersionNumber)'  == ''">$(KMDF_VERSION_MAJOR).$(KMDF_VERSION_MINOR)</KmdfVersionNumber>
    </Inf>
  </ItemDefinitionGroup>

  <Import Condition="Exists('$(WDKContentRoot)build\$(WDKBuildFolder)\WindowsDriver.KernelMode.CX.LateEvaluation.props')" Project="$(WDKContentRoot)build\$(WDKBuildFolder)\WindowsDriver.KernelMode.CX.LateEvaluation.props"/>

</Project>

