<!--
***********************************************************************************************
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 user 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>
    <UmdfVersion Condition="'$(UmdfVersion)' == '' and '$(DriverType)' == 'UMDF'">$(UMDF_VERSION_MAJOR).$(UMDF_VERSION_MINOR)</UmdfVersion>
  </PropertyGroup>

  <Choose>
    <When Condition="'$(UmdfVersion)' == '2.35' and $(_NT_TARGET_VERSION) &gt;= $(_NT_TARGET_VERSION_WIN11_GE)">
      <PropertyGroup>
        <UMDF_VERSION_MAJOR>2</UMDF_VERSION_MAJOR>
        <UMDF_VERSION_MINOR>35</UMDF_VERSION_MINOR>
        <UMDF_VERSION_MAJOR_STRING>02</UMDF_VERSION_MAJOR_STRING>
        <UMDF_VERSION_MINOR_STRING>035</UMDF_VERSION_MINOR_STRING>
      </PropertyGroup>
    </When>
    <When Condition="'$(UmdfVersion)' == '2.33' and $(_NT_TARGET_VERSION) &gt;= $(_NT_TARGET_VERSION_WIN10_FE)">
      <PropertyGroup>
        <UMDF_VERSION_MAJOR>2</UMDF_VERSION_MAJOR>
        <UMDF_VERSION_MINOR>33</UMDF_VERSION_MINOR>
        <UMDF_VERSION_MAJOR_STRING>02</UMDF_VERSION_MAJOR_STRING>
        <UMDF_VERSION_MINOR_STRING>033</UMDF_VERSION_MINOR_STRING>
      </PropertyGroup>
    </When>
    <When Condition="'$(UmdfVersion)' == '2.31' and $(_NT_TARGET_VERSION) &gt;= $(_NT_TARGET_VERSION_WIN10_VB)">
      <PropertyGroup>
        <UMDF_VERSION_MAJOR>2</UMDF_VERSION_MAJOR>
        <UMDF_VERSION_MINOR>31</UMDF_VERSION_MINOR>
        <UMDF_VERSION_MAJOR_STRING>02</UMDF_VERSION_MAJOR_STRING>
        <UMDF_VERSION_MINOR_STRING>031</UMDF_VERSION_MINOR_STRING>
      </PropertyGroup>
    </When>
    <When Condition="'$(UmdfVersion)' == '2.27' and $(_NT_TARGET_VERSION) &gt;= $(_NT_TARGET_VERSION_WIN10_RS5)">
      <PropertyGroup>
        <UMDF_VERSION_MAJOR>2</UMDF_VERSION_MAJOR>
        <UMDF_VERSION_MINOR>27</UMDF_VERSION_MINOR>
        <UMDF_VERSION_MAJOR_STRING>02</UMDF_VERSION_MAJOR_STRING>
        <UMDF_VERSION_MINOR_STRING>027</UMDF_VERSION_MINOR_STRING>
      </PropertyGroup>
    </When>
    <When Condition="'$(UmdfVersion)' == '2.25' and $(_NT_TARGET_VERSION) &gt;= $(_NT_TARGET_VERSION_WIN10_RS4)">
      <PropertyGroup>
        <UMDF_VERSION_MAJOR>2</UMDF_VERSION_MAJOR>
        <UMDF_VERSION_MINOR>25</UMDF_VERSION_MINOR>
        <UMDF_VERSION_MAJOR_STRING>02</UMDF_VERSION_MAJOR_STRING>
        <UMDF_VERSION_MINOR_STRING>025</UMDF_VERSION_MINOR_STRING>
      </PropertyGroup>
    </When>
    <When Condition="'$(UmdfVersion)' == '2.23' and $(_NT_TARGET_VERSION) &gt;= $(_NT_TARGET_VERSION_WIN10_RS3)">
      <PropertyGroup>
        <UMDF_VERSION_MAJOR>2</UMDF_VERSION_MAJOR>
        <UMDF_VERSION_MINOR>23</UMDF_VERSION_MINOR>
        <UMDF_VERSION_MAJOR_STRING>02</UMDF_VERSION_MAJOR_STRING>
        <UMDF_VERSION_MINOR_STRING>023</UMDF_VERSION_MINOR_STRING>
      </PropertyGroup>
    </When>
    <When Condition="'$(UmdfVersion)' == '2.21' and $(_NT_TARGET_VERSION) &gt;= $(_NT_TARGET_VERSION_WIN10_RS2)">
      <PropertyGroup>
        <UMDF_VERSION_MAJOR>2</UMDF_VERSION_MAJOR>
        <UMDF_VERSION_MINOR>21</UMDF_VERSION_MINOR>
        <UMDF_VERSION_MAJOR_STRING>02</UMDF_VERSION_MAJOR_STRING>
        <UMDF_VERSION_MINOR_STRING>021</UMDF_VERSION_MINOR_STRING>
      </PropertyGroup>
    </When>
    <When Condition="'$(UmdfVersion)' == '2.19' and $(_NT_TARGET_VERSION) &gt;= $(_NT_TARGET_VERSION_WIN10_RS1)">
      <PropertyGroup>
        <UMDF_VERSION_MAJOR>2</UMDF_VERSION_MAJOR>
        <UMDF_VERSION_MINOR>19</UMDF_VERSION_MINOR>
        <UMDF_VERSION_MAJOR_STRING>02</UMDF_VERSION_MAJOR_STRING>
        <UMDF_VERSION_MINOR_STRING>019</UMDF_VERSION_MINOR_STRING>
      </PropertyGroup>
    </When>
    <When Condition="'$(UmdfVersion)' == '2.17' and $(_NT_TARGET_VERSION) &gt;= $(_NT_TARGET_VERSION_WIN10_TH2)">
      <PropertyGroup>
        <UMDF_VERSION_MAJOR>2</UMDF_VERSION_MAJOR>
        <UMDF_VERSION_MINOR>17</UMDF_VERSION_MINOR>
        <UMDF_VERSION_MAJOR_STRING>02</UMDF_VERSION_MAJOR_STRING>
        <UMDF_VERSION_MINOR_STRING>017</UMDF_VERSION_MINOR_STRING>
      </PropertyGroup>
    </When>
    <When Condition="'$(UmdfVersion)' == '2.15' and $(_NT_TARGET_VERSION) &gt;= $(_NT_TARGET_VERSION_WIN10)">
      <PropertyGroup>
        <UMDF_VERSION_MAJOR>2</UMDF_VERSION_MAJOR>
        <UMDF_VERSION_MINOR>15</UMDF_VERSION_MINOR>
        <UMDF_VERSION_MAJOR_STRING>02</UMDF_VERSION_MAJOR_STRING>
        <UMDF_VERSION_MINOR_STRING>015</UMDF_VERSION_MINOR_STRING>
      </PropertyGroup>
    </When>
    <When Condition="'$(UmdfVersion)' == '1.11'">
      <PropertyGroup>
        <UMDF_VERSION_MAJOR>1</UMDF_VERSION_MAJOR>
        <UMDF_VERSION_MINOR>11</UMDF_VERSION_MINOR>
        <UMDF_VERSION_MAJOR_STRING>01</UMDF_VERSION_MAJOR_STRING>
        <UMDF_VERSION_MINOR_STRING>011</UMDF_VERSION_MINOR_STRING>
      </PropertyGroup>
    </When>
    <When Condition="'$(UmdfVersion)' == '1.9'">
      <PropertyGroup>
        <UMDF_VERSION_MAJOR>1</UMDF_VERSION_MAJOR>
        <UMDF_VERSION_MINOR>9</UMDF_VERSION_MINOR>
        <UMDF_VERSION_MAJOR_STRING>01</UMDF_VERSION_MAJOR_STRING>
        <UMDF_VERSION_MINOR_STRING>009</UMDF_VERSION_MINOR_STRING>
      </PropertyGroup>
    </When>
    <Otherwise>
      <PropertyGroup>
        <UnknownUmdfVersion>true</UnknownUmdfVersion>
      </PropertyGroup>
    </Otherwise>
  </Choose>

  <PropertyGroup>
    <!-- Valid on Win10 RS4 and above, and 25 <= UMDF_MINIMUM_VERSION_REQUIRED <= UMDF_VERSION_MINOR -->
    <UnknownUmdfMinimumVersionRequired Condition="$(UMDF_MINIMUM_VERSION_REQUIRED) != '' And $(UMDF_VERSION_MAJOR) != '2'">true</UnknownUmdfMinimumVersionRequired>
    <UnknownUmdfMinimumVersionRequired Condition="$(UMDF_MINIMUM_VERSION_REQUIRED) != '' And $(_NT_TARGET_VERSION) &lt; $(_NT_TARGET_VERSION_WIN10_RS4)">true</UnknownUmdfMinimumVersionRequired>
    <UnknownUmdfMinimumVersionRequired Condition="$(UMDF_MINIMUM_VERSION_REQUIRED) != '' And $(UMDF_MINIMUM_VERSION_REQUIRED) &lt; 25">true</UnknownUmdfMinimumVersionRequired>
    <UnknownUmdfMinimumVersionRequired Condition="$(UMDF_MINIMUM_VERSION_REQUIRED) != '' And $(UMDF_MINIMUM_VERSION_REQUIRED) &gt; $(UMDF_VERSION_MINOR)">true</UnknownUmdfMinimumVersionRequired>
  </PropertyGroup>

  <PropertyGroup>
    <UMDF_VER_PATH>$(UMDF_VERSION_MAJOR).$(UMDF_VERSION_MINOR)</UMDF_VER_PATH>
    <IncludePath Condition="'$(IsUserModeToolset)'=='true'">$(IncludePath);$(UMDF_INC_PATH)$(UMDF_VER_PATH)</IncludePath>
  </PropertyGroup>

  <!-- Define user-mode-specific defaults for StampInf -->
  <ItemDefinitionGroup>
    <Inf>
      <UmdfVersionNumber Condition="'%(Inf.UmdfVersionNumber)'  == ''">$(UMDF_VERSION_MAJOR).$(UMDF_VERSION_MINOR).0</UmdfVersionNumber>
    </Inf>
  </ItemDefinitionGroup>

  <Import Condition="Exists('$(WDKContentRoot)build\$(WDKBuildFolder)\WindowsDriver.UserMode.CX.LateEvaluation.props')" Project="$(WDKContentRoot)build\$(WDKBuildFolder)\WindowsDriver.UserMode.CX.LateEvaluation.props"/>

</Project>

