﻿<?xml version="1.0" encoding="utf-8"?>
<RuleSet Name="Microsoft Native Minimum Rules" Description="These rules focus on the most critical problems in your native code, including potential security holes and application crashes. It is recommended to include this rule set in any custom rule set you create for your native projects." ToolsVersion="10.0">
  <Localization ResourceAssembly="Microsoft.VisualStudio.CodeAnalysis.RuleSets.Strings.dll" ResourceBaseName="Microsoft.VisualStudio.CodeAnalysis.RuleSets.Strings.Localized">
    <Name Resource="NativeMinimumRules_Name" />
    <Description Resource="NativeMinimumRules_Description" />
  </Localization>

  <Rules AnalyzerId="Microsoft.Analyzers.NativeCodeAnalysis" RuleNamespace="Microsoft.Rules.Native">
    <Rule Id="C6001" Action="Warning" />
    <Rule Id="C6011" Action="Warning" />
    <Rule Id="C6029" Action="Warning" />
    <Rule Id="C6053" Action="Warning" />
    <Rule Id="C6059" Action="Warning" />
    <Rule Id="C6063" Action="Warning" />
    <Rule Id="C6064" Action="Warning" />
    <Rule Id="C6066" Action="Warning" />
    <Rule Id="C6067" Action="Warning" />
    <Rule Id="C6101" Action="Warning" />
    <Rule Id="C6200" Action="Warning" />
    <Rule Id="C6201" Action="Warning" />
    <Rule Id="C6270" Action="Warning" />
    <Rule Id="C6271" Action="Warning" />
    <Rule Id="C6272" Action="Warning" />
    <Rule Id="C6273" Action="Warning" />
    <Rule Id="C6274" Action="Warning" />
    <Rule Id="C6276" Action="Warning" />
    <Rule Id="C6277" Action="Warning" />
    <Rule Id="C6284" Action="Warning" />
    <Rule Id="C6290" Action="Warning" />
    <Rule Id="C6291" Action="Warning" />
    <Rule Id="C6302" Action="Warning" />
    <Rule Id="C6303" Action="Warning" />
    <Rule Id="C6305" Action="Warning" />
    <Rule Id="C6306" Action="Warning" />
    <Rule Id="C6328" Action="Warning" />
    <Rule Id="C6385" Action="Warning" />
    <Rule Id="C6386" Action="Warning" />
    <Rule Id="C6387" Action="Warning" />
    <Rule Id="C6500" Action="Warning" />
    <Rule Id="C6501" Action="Warning" />
    <Rule Id="C6503" Action="Warning" />
    <Rule Id="C6504" Action="Warning" />
    <Rule Id="C6505" Action="Warning" />
    <Rule Id="C6506" Action="Warning" />
    <Rule Id="C6508" Action="Warning" />
    <Rule Id="C6509" Action="Warning" />
    <Rule Id="C6510" Action="Warning" />
    <Rule Id="C6511" Action="Warning" />
    <Rule Id="C6513" Action="Warning" />
    <Rule Id="C6514" Action="Warning" />
    <Rule Id="C6515" Action="Warning" />
    <Rule Id="C6516" Action="Warning" />
    <Rule Id="C6517" Action="Warning" />
    <Rule Id="C6518" Action="Warning" />
    <Rule Id="C6522" Action="Warning" />
    <Rule Id="C6525" Action="Warning" />
    <Rule Id="C6527" Action="Warning" />
    <Rule Id="C6530" Action="Warning" />
    <Rule Id="C6540" Action="Warning" />
    <Rule Id="C6551" Action="Warning" />
    <Rule Id="C6552" Action="Warning" />
    <Rule Id="C6701" Action="Warning" />
    <Rule Id="C6702" Action="Warning" />
    <Rule Id="C6703" Action="Warning" />
    <Rule Id="C6704" Action="Warning" />
    <Rule Id="C6705" Action="Warning" />
    <Rule Id="C6706" Action="Warning" />

    <!-- CppCoreCheck -->
    <!-- Unnamed Guards/RAII objects -->
    <Rule Id="C26441" Action="Warning" />
    <Rule Id="C26444" Action="Warning" />
    <!-- Span/View over temporary -->
    <Rule Id="C26449" Action="Warning" />
    <!-- Arithmetic overflow -->
    <Rule Id="C26450" Action="Warning" />
    <Rule Id="C26452" Action="Warning" />
    <Rule Id="C26453" Action="Warning" />
    <Rule Id="C26454" Action="Warning" />
    <!-- Unitialized Member -->
    <Rule Id="C26495" Action="Warning" />
    <!-- Coroutines related lifetime errors -->
    <Rule Id="C26810" Action="Warning" />
    <Rule Id="C26811" Action="Warning" />
    <!-- Local lifetime violations  -->
    <Rule Id="C26815" Action="Warning" />
    <Rule Id="C26816" Action="Warning" />
    <!-- Use fallthrough annotation -->
    <Rule Id="C26819" Action="Warning" />

    <Rule Id="C28021" Action="Warning" />
    <Rule Id="C28182" Action="Warning" />
    <Rule Id="C28202" Action="Warning" />
    <Rule Id="C28203" Action="Warning" />
    <Rule Id="C28205" Action="Warning" />
    <Rule Id="C28206" Action="Warning" />
    <Rule Id="C28207" Action="Warning" />
    <Rule Id="C28210" Action="Warning" />
    <Rule Id="C28211" Action="Warning" />
    <Rule Id="C28212" Action="Warning" />
    <Rule Id="C28213" Action="Warning" />
    <Rule Id="C28214" Action="Warning" />
    <Rule Id="C28215" Action="Warning" />
    <Rule Id="C28216" Action="Warning" />
    <Rule Id="C28217" Action="Warning" />
    <Rule Id="C28218" Action="Warning" />
    <Rule Id="C28219" Action="Warning" />
    <Rule Id="C28220" Action="Warning" />
    <Rule Id="C28221" Action="Warning" />
    <Rule Id="C28222" Action="Warning" />
    <Rule Id="C28223" Action="Warning" />
    <Rule Id="C28224" Action="Warning" />
    <Rule Id="C28225" Action="Warning" />
    <Rule Id="C28226" Action="Warning" />
    <Rule Id="C28227" Action="Warning" />
    <Rule Id="C28228" Action="Warning" />
    <Rule Id="C28229" Action="Warning" />
    <Rule Id="C28230" Action="Warning" />
    <Rule Id="C28231" Action="Warning" />
    <Rule Id="C28232" Action="Warning" />
    <Rule Id="C28233" Action="Warning" />
    <Rule Id="C28234" Action="Warning" />
    <Rule Id="C28235" Action="Warning" />
    <Rule Id="C28236" Action="Warning" />
    <Rule Id="C28237" Action="Warning" />
    <Rule Id="C28238" Action="Warning" />
    <Rule Id="C28239" Action="Warning" />
    <Rule Id="C28240" Action="Warning" />
    <Rule Id="C28241" Action="Warning" />
    <Rule Id="C28243" Action="Warning" />
    <Rule Id="C28245" Action="Warning" />
    <Rule Id="C28246" Action="Warning" />
    <Rule Id="C28250" Action="Warning" />
    <Rule Id="C28251" Action="Warning" />
    <Rule Id="C28252" Action="Warning" />
    <Rule Id="C28253" Action="Warning" />
    <Rule Id="C28254" Action="Warning" />
    <Rule Id="C28262" Action="Warning" />
    <Rule Id="C28263" Action="Warning" />
    <Rule Id="C28267" Action="Warning" />
    <Rule Id="C28272" Action="Warning" />
    <Rule Id="C28273" Action="Warning" />
    <Rule Id="C28275" Action="Warning" />
    <Rule Id="C28279" Action="Warning" />
    <Rule Id="C28280" Action="Warning" />
    <Rule Id="C28282" Action="Warning" />
    <Rule Id="C28285" Action="Warning" />
    <Rule Id="C28286" Action="Warning" />
    <Rule Id="C28287" Action="Warning" />
    <Rule Id="C28288" Action="Warning" />
    <Rule Id="C28289" Action="Warning" />
    <Rule Id="C28290" Action="Warning" />
    <Rule Id="C28291" Action="Warning" />
    <Rule Id="C28300" Action="Warning" />
    <Rule Id="C28301" Action="Warning" />
    <Rule Id="C28302" Action="Warning" />
    <Rule Id="C28303" Action="Warning" />
    <Rule Id="C28304" Action="Warning" />
    <Rule Id="C28305" Action="Warning" />
    <Rule Id="C28308" Action="Warning" />
    <Rule Id="C28309" Action="Warning" />
    <Rule Id="C28350" Action="Warning" />
    <Rule Id="C28351" Action="Warning" />
    <Rule Id="C33001" Action="Warning" />
    <Rule Id="C33010" Action="Warning" />
    <Rule Id="C33020" Action="Warning" />
  </Rules>
</RuleSet>