Merged PR 11121905: Enable PREfast for the Windows Undocked Pipelines

Runs the Guardian PREfast task with the same ruleset and checks that are used for docked Windows. Also configures and enables TSA bug filing for these issues with an initial set of bugs listed [here](https://microsoft.visualstudio.com/OS/_queries?tempQueryId=3723698a-d05b-4d89-a56e-828f307aca04). Once those are cleaned up, build breaks can be enabled for PREfast through the `ob_sdl_prefast_break` variable. This PR also pins the Windows container image to a last known good hash since a recent image update [broke builds](https://microsoft.visualstudio.com/OS/_build/results?buildId=103386663&view=results)

Related work items: #51951676
This commit is contained in:
Matthew Villegas 2024-07-19 21:36:43 +00:00
Родитель ff2944eca8
Коммит 912aa6604c
5 изменённых файлов: 334 добавлений и 3 удалений

9
.config/tsaoptions.json Normal file
Просмотреть файл

@ -0,0 +1,9 @@
{
"instanceUrl" : "https://microsoft.visualstudio.com",
"projectName" : "OS",
"areaPath" : "OS\\Core\\ENS\\Cloud Security\\Cryptography Infrastructure\\Crypto\\Symcrypt",
"notificationAliases": ["symcryptdevs@microsoft.com"],
"ppe" : "false",
"template" : "TFSMSAzure",
"codebaseName" : "tfsmsazure_SymCrypt"
}

Просмотреть файл

@ -53,7 +53,7 @@ parameters:
variables:
# https://aka.ms/obpipelines/containers
WindowsContainerImage: 'onebranch.azurecr.io/windows/ltsc2022/vse2022:latest'
WindowsContainerImage: 'onebranch.azurecr.io/windows/ltsc2022/vse2022@sha256:394ae836d8bbb5f5f7659744b85796ac823ab1410527ac26d143837bdecbde2a'
resources:
repositories:

Просмотреть файл

@ -19,7 +19,7 @@ pr:
variables:
# https://aka.ms/obpipelines/containers
WindowsContainerImage: 'onebranch.azurecr.io/windows/ltsc2022/vse2022:latest'
WindowsContainerImage: 'onebranch.azurecr.io/windows/ltsc2022/vse2022@sha256:394ae836d8bbb5f5f7659744b85796ac823ab1410527ac26d143837bdecbde2a'
resources:
repositories:

Просмотреть файл

@ -94,9 +94,10 @@ jobs:
ob_outputDirectory: $(Build.SourcesDirectory)\build\bin\$(ob_build_platform_win)$(ob_build_config_win)
ob_artifactSuffix: _$(ob_build_platform_win)$(ob_build_config_win)
# https://aka.ms/obpipelines/sdl
ob_sdl_tsa_enabled: false # When TSA is disabled all SDL tools will forced into 'break' build mode.
ob_sdl_tsa_enabled: true # When TSA is disabled all SDL tools will forced into 'break' build mode.
ob_sdl_binskim_break: true
ob_sdl_policheck_break: true
ob_sdl_prefast_break: false
${{ if eq(parameters.sign, true) }}:
ob_sdl_codeSignValidation_excludes: -|**\*.sys # Signing is not supported for KM drivers
${{ if eq(parameters.sign, false) }}:
@ -129,6 +130,17 @@ jobs:
restoreNugetPackages: ${{ parameters.restoreNugetPackages }}
msbuildArgs: '-p:UndockedOfficial=${{ parameters.nativeCompiler }} -p:UndockedBuildId=$(Build.BuildId) -p:VER_BUILD_ID=$(Build.BuildId) -p:VER_SUFFIX=${{ parameters.buildType }} -p:SymCryptTestLegacyImpl=true ${{ parameters.msbuildArgs }}'
- task: SDLNativeRules@3
displayName: '🛡 Guardian: PreFast'
continueOnError: true
inputs:
userProvideBuildInfo: auto
rulesetName: Custom
customRuleset: '$(Build.SourcesDirectory)\tvs.ruleset'
excludedPaths: 'c:/program files (x86)/windows kits/'
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
# Overwrite default artifact publishing with our copy (enables publishing binaries for failed runs)
- task: PowerShell@2
displayName: 'Overwrite .artifactignore'

310
tvs.ruleset Normal file
Просмотреть файл

@ -0,0 +1,310 @@
<?xml version="1.0" encoding="utf-8"?>
<RuleSet Name="TVS minimum ruleset" Description="These rules enforce minimum code quality within Windows." ToolsVersion="10.0">
<Rules AnalyzerId="Microsoft.Analyzers.NativeCodeAnalysis" RuleNamespace="Microsoft.Rules.Native">
<!-- TVS Minbar Quality Gate: oacr-level1 -->
<Rule Id="C1250" Action="Error" /> <!-- FATALERROR_UNABLETOLOADPLUGIN -->
<Rule Id="C1251" Action="Error" /> <!-- FATALERROR_UNABLETOLOADMODEL -->
<Rule Id="C1252" Action="Error" /> <!-- FATALERROR_CIRCULARDEPENDENCY -->
<Rule Id="C1253" Action="Error" /> <!-- FATALERROR_UNABLETOLOADMODELFILE -->
<Rule Id="C1254" Action="Error" /> <!-- FATALERROR_PLUGINVERSIONMISMATCH -->
<Rule Id="C1255" Action="Error" /> <!-- FATALERROR_PCHSYNCLOST -->
<Rule Id="C1256" Action="Error" /> <!-- FATALERROR_PCHINCONSISTENT -->
<Rule Id="C1257" Action="Error" /> <!-- FATALERROR_INITFAILURE -->
<Rule Id="C1258" Action="Error" /> <!-- FATALERROR_SAVETOXMLFAILED -->
<Rule Id="C1259" Action="Error" /> <!-- FATALERROR_FATALERROR -->
<Rule Id="C1260" Action="Error" /> <!-- FATALERROR_DUPLICATEID -->
<Rule Id="C6029" Action="Warning" /> <!-- USING_TAINTED_DATA -->
<Rule Id="C6053" Action="Warning" /> <!-- MISSING_ZERO_TERMINATION1 -->
<Rule Id="C6059" Action="Warning" /> <!-- BAD_CONCATENATION -->
<Rule Id="C6063" Action="Warning" /> <!-- MISSING_STRING_ARGUMENT_TO_FORMAT_FUNCTION -->
<Rule Id="C6248" Action="Warning" /> <!-- CREATINGNULLDACL -->
<Rule Id="C6259" Action="Warning" /> <!-- DEADCODEINBITORLIMITEDSWITCH -->
<Rule Id="C6260" Action="Warning" /> <!-- USEOFBYTEAREA -->
<Rule Id="C6268" Action="Warning" /> <!-- MISPARENTHESIZED_CASTS -->
<Rule Id="C6276" Action="Warning" /> <!-- CHAR_TO_WCHAR_CAST -->
<Rule Id="C6277" Action="Warning" /> <!-- CREATEPROCESS_ESCAPE -->
<Rule Id="C6281" Action="Warning" /> <!-- BITWISERELATIONPRECEDENCEERROR -->
<Rule Id="C6282" Action="Warning" /> <!-- ASSIGNMENTREPLACESTEST -->
<Rule Id="C6290" Action="Warning" /> <!-- LOGICALNOTBITWISEAND -->
<Rule Id="C6291" Action="Warning" /> <!-- LOGICALNOTBITWISEOR -->
<Rule Id="C6296" Action="Warning" /> <!-- LOOP_ONLY_EXECUTED_ONCE -->
<Rule Id="C6299" Action="Warning" /> <!-- BITFIELD_TO_BOOL_COMPARISON -->
<Rule Id="C6306" Action="Warning" /> <!-- INCORRECT_VARARG_FUNCTIONCALL -->
<Rule Id="C6308" Action="Warning" /> <!-- REALLOCLEAK -->
<Rule Id="C6500" Action="Warning" /> <!-- INVALID_ATTRIBUTE_PROPERTY -->
<Rule Id="C6511" Action="Warning" /> <!-- MUSTCHECK_MAYBE -->
<Rule Id="C6513" Action="Warning" /> <!-- ELEMENT_SIZE_WITHOUT_BUFFER_SIZE -->
<Rule Id="C6516" Action="Warning" /> <!-- NO_PROPERTIES_ON_ATTRIBUTE -->
<Rule Id="C6517" Action="Warning" /> <!-- VALID_SIZE_ON_NON_READABLE_BUFFER -->
<Rule Id="C6522" Action="Warning" /> <!-- INVALID_SIZE_STRING_TYPE -->
<Rule Id="C6540" Action="Warning" /> <!-- OVERRIDING_OLD_MODEL -->
<Rule Id="C6551" Action="Warning" /> <!-- INVALID_SIZE_STRING_EXPRESSION -->
<Rule Id="C6552" Action="Warning" /> <!-- INVALID_DEREF_EXPRESSION -->
<Rule Id="C6701" Action="Warning" /> <!-- LIB_BADYESNO -->
<Rule Id="C6702" Action="Warning" /> <!-- LIB_BADSTRING -->
<Rule Id="C6703" Action="Warning" /> <!-- LIB_BADNUMBER -->
<Rule Id="C6704" Action="Warning" /> <!-- LIB_EXP_MISC -->
<Rule Id="C6705" Action="Warning" /> <!-- LIB_ANNOTE_ARITY -->
<Rule Id="C6706" Action="Warning" /> <!-- LIB_ANNOTE_MISC -->
<Rule Id="C6707" Action="Warning" /> <!-- LIB_MODEL_MISC -->
<Rule Id="C6993" Action="Warning" /> <!-- OMPNOTSUPPORTED -->
<Rule Id="C20002" Action="Warning" /> <!-- SCAN_FAILURE -->
<Rule Id="C20022" Action="Warning" /> <!-- SCAN_FAILURE_PCH -->
<Rule Id="C20050" Action="Warning" /> <!-- SCAN_FAILURE_CUSTOM_SCANNER -->
<Rule Id="C20051" Action="Warning" /> <!-- SCAN_FAILURE_PREFAST -->
<Rule Id="C20052" Action="Warning" /> <!-- SCAN_FAILURE_PREFAST_PCH_MISSING -->
<Rule Id="C20053" Action="Warning" /> <!-- SCAN_FAILURE_PREFAST_PCH -->
<Rule Id="C20073" Action="Warning" /> <!-- SCAN_FAILURE_GOLDANALYZER -->
<Rule Id="C20076" Action="Warning" /> <!-- SCAN_FAILURE_PREFAST_ICE -->
<Rule Id="C20077" Action="Warning" /> <!-- SCAN_FAILURE_PREFAST_PCH_ICE -->
<Rule Id="C25045" Action="Warning" /> <!-- ISBADPTR_FUNCTION -->
<Rule Id="C28001" Action="Warning" /> <!-- ERROR_1 -->
<Rule Id="C28011" Action="Warning" /> <!-- USE_OTHER_FUNCTION_1 -->
<Rule Id="C28022" Action="Warning" /> <!-- FUNCTION_CLASS_MODEL_MISMATCH -->
<Rule Id="C28039" Action="Warning" /> <!-- STRICT_TYPE_MATCH2 -->
<Rule Id="C28126" Action="Warning" /> <!-- OBJ_REFERENCE_MODE -->
<Rule Id="C28127" Action="Warning" /> <!-- PROTOTYPE_MISMATCH -->
<Rule Id="C28128" Action="Warning" /> <!-- FUNCTION_ASSIGNMENT -->
<Rule Id="C28134" Action="Warning" /> <!-- POOL_TAG -->
<Rule Id="C28147" Action="Warning" /> <!-- UNHELPFUL_TAG -->
<Rule Id="C28151" Action="Warning" /> <!-- BAD_IRQL_VALUE -->
<Rule Id="C28153" Action="Warning" /> <!-- MODEL_BAD_IRQL -->
<Rule Id="C28164" Action="Warning" /> <!-- PVOID -->
<Rule Id="C28200" Action="Warning" /> <!-- INTERNAL_DEBUG -->
<Rule Id="C28201" Action="Warning" /> <!-- XML_ANNOTATION -->
<Rule Id="C28202" Action="Warning" /> <!-- ILLEGAL_STATIC_ACCESS -->
<Rule Id="C28203" Action="Warning" /> <!-- AMBIGUOUS_REFERENCE -->
<Rule Id="C28205" Action="Warning" /> <!-- SUCCESS_USED_INCORRECTLY -->
<Rule Id="C28206" Action="Warning" /> <!-- ARROW_EXPECTED -->
<Rule Id="C28207" Action="Warning" /> <!-- DOT_EXPECTED -->
<Rule Id="C28209" Action="Warning" /> <!-- INVALID_ANNOTATION_SYMBOL -->
<Rule Id="C28211" Action="Warning" /> <!-- CONTEXT_EXPECTED -->
<Rule Id="C28213" Action="Warning" /> <!-- BAD_USEHEADER -->
<Rule Id="C28214" Action="Warning" /> <!-- BAD_PARAM_NAME -->
<Rule Id="C28215" Action="Warning" /> <!-- DUPLICATE_TYPEFIX -->
<Rule Id="C28216" Action="Warning" /> <!-- MUSTCHECK_NOT_POST -->
<Rule Id="C28217" Action="Warning" /> <!-- UNMATCHED_ANNO_COUNT -->
<Rule Id="C28219" Action="Warning" /> <!-- ENUM_EXPECTED -->
<Rule Id="C28221" Action="Warning" /> <!-- STRING_EXPECTED -->
<Rule Id="C28222" Action="Warning" /> <!-- YNM_EXPECTED -->
<Rule Id="C28223" Action="Warning" /> <!-- AUTOQUOTE_EXPECTED -->
<Rule Id="C28224" Action="Warning" /> <!-- PARAMS_EXPECTED -->
<Rule Id="C28225" Action="Warning" /> <!-- BAD_NO_PARAMS -->
<Rule Id="C28226" Action="Warning" /> <!-- NOT_BOTH -->
<Rule Id="C28227" Action="Warning" /> <!-- NOT_BOTH_2 -->
<Rule Id="C28228" Action="Warning" /> <!-- UNRECOGNIZED_TYPE -->
<Rule Id="C28229" Action="Warning" /> <!-- NO_PARAMS_EXPECTED -->
<Rule Id="C28231" Action="Warning" /> <!-- ILLEGAL_INDEX -->
<Rule Id="C28232" Action="Warning" /> <!-- DANGLING_QUALIFIER -->
<Rule Id="C28233" Action="Warning" /> <!-- BLOCK_QUALIFIER -->
<Rule Id="C28234" Action="Warning" /> <!-- AT_NOT_ROOT -->
<Rule Id="C28235" Action="Warning" /> <!-- PRIMOP_AS_ANNOTATION -->
<Rule Id="C28236" Action="Warning" /> <!-- ANNOTATION_AS_PRIMOP -->
<Rule Id="C28237" Action="Warning" /> <!-- OBSOLETE -->
<Rule Id="C28238" Action="Warning" /> <!-- TOOMANY_OLD -->
<Rule Id="C28239" Action="Warning" /> <!-- MIXED_OLD_NEW -->
<Rule Id="C28240" Action="Warning" /> <!-- NO_PARAM1 -->
<Rule Id="C28242" Action="Warning" /> <!-- BAD_MULTIPLIER -->
<Rule Id="C28243" Action="Warning" /> <!-- BAD_DEREF -->
<Rule Id="C28245" Action="Warning" /> <!-- THIS_NONMEMBER -->
<Rule Id="C28246" Action="Warning" /> <!-- ANNOTATION_TYPE_MISMATCH -->
<Rule Id="C28248" Action="Warning" /> <!-- XML_MODEL_FILE_DUPLICATE -->
<Rule Id="C28254" Action="Warning" /> <!-- DYNAMIC_CAST -->
<Rule Id="C28260" Action="Warning" /> <!-- MODEL_SYNTAX_ERROR -->
<Rule Id="C28262" Action="Warning" /> <!-- MODEL_SYNTAX_ERROR2 -->
<Rule Id="C28263" Action="Warning" /> <!-- MODEL_SYNTAX_ERROR3 -->
<Rule Id="C28266" Action="Warning" /> <!-- MODEL_PLACEMENT_ERROR -->
<Rule Id="C28267" Action="Warning" /> <!-- MODEL_PLACEMENT_ERROR2 -->
<Rule Id="C28272" Action="Warning" /> <!-- MISMATCHED_LIST -->
<Rule Id="C28273" Action="Warning" /> <!-- MISMATCHED_PREDICATE -->
<Rule Id="C28275" Action="Warning" /> <!-- NULL_MACRO_VALUE -->
<Rule Id="C28276" Action="Warning" /> <!-- NO_MACROS -->
<Rule Id="C28279" Action="Warning" /> <!-- UNMATCHED_BEGIN -->
<Rule Id="C28280" Action="Warning" /> <!-- UNMATCHED_END -->
<Rule Id="C28281" Action="Warning" /> <!-- BAD_INVALID -->
<Rule Id="C28282" Action="Warning" /> <!-- FORMAT_NOT_PRE -->
<Rule Id="C28283" Action="Warning" /> <!-- UNSUPPORTED_SIZESPEC -->
<Rule Id="C28284" Action="Warning" /> <!-- SPEC_INVALID_PREDICATE -->
<Rule Id="C28286" Action="Warning" /> <!-- SPEC_INVALID_SYNTAX -->
<Rule Id="C28287" Action="Warning" /> <!-- INVALID_AT2 -->
<Rule Id="C28288" Action="Warning" /> <!-- INVALID_AT -->
<Rule Id="C28289" Action="Warning" /> <!-- LIMITSPEC_EXPECTED -->
<Rule Id="C28292" Action="Warning" /> <!-- MIN_SIZE_MULTIPLE -->
<Rule Id="C28293" Action="Warning" /> <!-- MIN_SIZE_UNKNOWN -->
<Rule Id="C28294" Action="Warning" /> <!-- EXTERNAL_UNKNOWN_PARAM -->
<Rule Id="C28295" Action="Warning" /> <!-- EXTERNAL_UNKNOWN_TYPE -->
<Rule Id="C28296" Action="Warning" /> <!-- MODEL_PARSE_CRASH -->
<Rule Id="C28297" Action="Warning" /> <!-- MODEL_PARSE_1 -->
<Rule Id="C28298" Action="Warning" /> <!-- METADATA_PARSE_CRASH -->
<Rule Id="C28299" Action="Warning" /> <!-- METADATA_UNEXPECTED -->
<Rule Id="C28300" Action="Warning" /> <!-- INCOMPATIBLE_TYPES -->
<Rule Id="C28308" Action="Warning" /> <!-- BAD_FORMAT_ARGUMENT_POSITION -->
<Rule Id="C28350" Action="Warning" /> <!-- CANNOT_USE_WHEN -->
<Rule Id="C28351" Action="Warning" /> <!-- CANNOT_USE_VARIABLE_WHEN -->
<Rule Id="C28600" Action="Warning" /> <!-- WINDOWSESPXTENSION_CONFIG_ERROR -->
<Rule Id="C28719" Action="Warning" /> <!-- BANNED_API_USAGE -->
<Rule Id="C28754" Action="Warning" /> <!-- BANNED_CRYPTO_API_USAGEL1 -->
<!-- TVS Minbar Quality Gate: oacr-bannedApis -->
<Rule Id="C28720" Action="Warning" /> <!-- ISBADXXXPTR_API_USAGE -->
<Rule Id="C28726" Action="Warning" /> <!-- BANNED_API_USAGEL2 -->
<Rule Id="C28735" Action="Warning" /> <!-- BANNED_CRIMSON_API_USAGE -->
<Rule Id="C28736" Action="Warning" /> <!-- BANNED_API_ARGUMENT_USAGE -->
<Rule Id="C28737" Action="Warning" /> <!-- BANNED_API_APP_MODEL_VERSION_CHECK -->
<Rule Id="C28755" Action="Warning" /> <!-- BANNED_CRYPTO_API_USAGEL2 -->
<!-- TVS Minbar Quality Gate: oacr-security -->
<Rule Id="C6201" Action="Warning" /> <!-- INDEX_EXCEEDS_MAX -->
<Rule Id="C6262" Action="Warning" /> <!-- EXCESSIVESTACKUSAGE -->
<Rule Id="C6287" Action="Warning" /> <!-- REDUNDANTTEST -->
<Rule Id="C6288" Action="Warning" /> <!-- MUTUALINCLUSIONOVERANDISFALSE -->
<Rule Id="C6289" Action="Warning" /> <!-- MUTUALEXCLUSIONOVERORISTRUE -->
<Rule Id="C6292" Action="Warning" /> <!-- LOOP_COUNTS_UP_FROM_MAX -->
<Rule Id="C6293" Action="Warning" /> <!-- LOOP_INDEX_GOES_NEGATIVE -->
<Rule Id="C6294" Action="Warning" /> <!-- LOOP_BODY_NEVER_EXECUTED -->
<Rule Id="C6295" Action="Warning" /> <!-- INFINITE_LOOP -->
<Rule Id="C6297" Action="Warning" /> <!-- RESULTOFSHIFTCASTTOLARGERSIZE -->
<Rule Id="C6305" Action="Warning" /> <!-- SIZEOF_COUNTOF_MISMATCH -->
<Rule Id="C6334" Action="Warning" /> <!-- SIZEOFEXPR -->
<Rule Id="C6383" Action="Warning" /> <!-- ELEMENTS_TO_BYTES -->
<Rule Id="C6384" Action="Warning" /> <!-- DIVIDING_SIZEOF_POINTER -->
<Rule Id="C6504" Action="Warning" /> <!-- NULL_ON_NON_POINTER -->
<Rule Id="C6514" Action="Warning" /> <!-- BUFFER_SIZE_EXCEEDS_ARRAY_SIZE -->
<Rule Id="C6997" Action="Warning" /> <!-- IGNORED_ANNOTATIONS -->
<Rule Id="C26000" Action="Warning" /> <!-- BUFFER_OVERFLOW -->
<Rule Id="C26006" Action="Warning" /> <!-- INCORRECT_ANNOTATION_STRING -->
<Rule Id="C26007" Action="Warning" /> <!-- INCORRECT_ANNOTATION -->
<Rule Id="C26014" Action="Warning" /> <!-- INCORRECT_VALIDATION -->
<Rule Id="C26015" Action="Warning" /> <!-- POTENTIAL_BUFFER_OVERFLOW_HIGH_PRIORITY -->
<Rule Id="C26030" Action="Warning" /> <!-- POSTCONDITION_BUFFER_OVERFLOW -->
<Rule Id="C26031" Action="Warning" /> <!-- POSTCONDITION_BUFFER_UNDERFLOW -->
<Rule Id="C26200" Action="Warning" /> <!-- DOUBLE_FETCH_DIRECT_ACCESS -->
<Rule Id="C26201" Action="Warning" /> <!-- DOUBLE_FETCH_DIRECT_ACCESS_BITFIELD -->
<Rule Id="C26202" Action="Warning" /> <!-- DOUBLE_FETCH_DIRECT_ACCESS_WITH_CALL -->
<Rule Id="C28021" Action="Warning" /> <!-- RESULT_MUST_BE_PTR -->
<Rule Id="C28208" Action="Warning" /> <!-- FUNCTION_TYPE_REDECLARATION -->
<Rule Id="C28212" Action="Warning" /> <!-- POINTER_EXPECTED -->
<Rule Id="C28218" Action="Warning" /> <!-- UNMATCHED_ANNO_TREE -->
<Rule Id="C28220" Action="Warning" /> <!-- INTEGER_EXPECTED -->
<Rule Id="C28230" Action="Warning" /> <!-- NO_SUCH_MEMBER -->
<Rule Id="C28241" Action="Warning" /> <!-- EXTERNAL_UNKNOWN_ANNO -->
<Rule Id="C28250" Action="Warning" /> <!-- UNMATCHED_DECL -->
<Rule Id="C28285" Action="Warning" /> <!-- SPEC_INVALID_SYNTAX2 -->
<Rule Id="C28290" Action="Warning" /> <!-- SPEC_TOO_MANY -->
<Rule Id="C28291" Action="Warning" /> <!-- LOD_0_NULL -->
<Rule Id="C28302" Action="Warning" /> <!-- INCORRECT_SAL2_DEREF_ADVISORY -->
<Rule Id="C28303" Action="Warning" /> <!-- INCORRECT_SAL2_DEREF_ERROR -->
<Rule Id="C28304" Action="Warning" /> <!-- INCORRECT_USE_OF_NOTREF -->
<Rule Id="C28305" Action="Warning" /> <!-- ERROR_IN_PARSING -->
<Rule Id="C28306" Action="Warning" /> <!-- BUFFER_SIZE_ANNOTATION -->
<Rule Id="C28307" Action="Warning" /> <!-- BUFFER_SIZE_ANNOTATION_SYNTAX -->
<Rule Id="C28309" Action="Warning" /> <!-- UNSUPPORTED_OPERAND_TYPES -->
<Rule Id="C30029" Action="Warning" /> <!-- BANNED_MEM_ALLOCATION_NOTYPE -->
<Rule Id="C30030" Action="Warning" /> <!-- BANNED_MEM_ALLOCATION_UNSAFE -->
<Rule Id="C30032" Action="Warning" /> <!-- BANNED_MEM_ALLOCATION_FORCE_UNSAFE -->
<!-- TVS Minbar Quality Gate: oacr-pfd -->
<Rule Id="C28002" Action="Warning" /> <!-- ERROR_2 -->
<Rule Id="C28012" Action="Warning" /> <!-- USE_OTHER_FUNCTION_2 -->
<Rule Id="C28024" Action="Warning" /> <!-- FUNCTION_CLASS_MISMATCH -->
<Rule Id="C28106" Action="Warning" /> <!-- ALREADY_HELD -->
<Rule Id="C28111" Action="Warning" /> <!-- FP_IRQ_UNMATCHED -->
<Rule Id="C28120" Action="Warning" /> <!-- IRQ_TOO_LOW -->
<Rule Id="C28141" Action="Warning" /> <!-- IRQ_LOWERED_IMPROPERLY -->
<Rule Id="C28152" Action="Warning" /> <!-- INIT_NOT_CLEARED -->
<Rule Id="C28157" Action="Warning" /> <!-- IRQL_NOT_USED -->
<Rule Id="C28158" Action="Warning" /> <!-- IRQL_NOT_SET -->
<Rule Id="C28161" Action="Warning" /> <!-- FLOAT_UNSAFE_EXIT -->
<Rule Id="C28162" Action="Warning" /> <!-- FLOAT_SAFE_EXIT -->
<Rule Id="C28163" Action="Warning" /> <!-- MUST_NOT_TRY -->
<Rule Id="C28171" Action="Warning" /> <!-- MULTIPLE_PAGED_CODE -->
<!-- TVS Minbar Quality Gate: oacr-error_handling -->
<Rule Id="C6214" Action="Warning" /> <!-- CAST_HRESULT_TO_BOOL -->
<Rule Id="C6215" Action="Warning" /> <!-- CAST_BOOL_TO_HRESULT -->
<Rule Id="C6216" Action="Warning" /> <!-- COMPILER_INSERTED_CAST_BOOL_TO_HRESULT -->
<Rule Id="C6217" Action="Warning" /> <!-- TESTING_HRESULT_WITH_NOT -->
<Rule Id="C6220" Action="Warning" /> <!-- COMPARING_HRESULT_TO_MINUS_ONE -->
<Rule Id="C6225" Action="Warning" /> <!-- ASSIGNING_ONE_TO_HRESULT -->
<Rule Id="C6226" Action="Warning" /> <!-- ASSIGNING_MINUS_ONE_TO_HRESULT -->
<Rule Id="C6230" Action="Warning" /> <!-- USING_HRESULT_IN_BOOLEAN_CONTEXT -->
<Rule Id="C6235" Action="Warning" /> <!-- NONZEROLOGICALOR -->
<Rule Id="C6236" Action="Warning" /> <!-- LOGICALORNONZERO -->
<Rule Id="C6237" Action="Warning" /> <!-- ZEROLOGICALANDLOSINGSIDEEFFECTS -->
<Rule Id="C6312" Action="Warning" /> <!-- EXCEPTIONCONTINUEEXECUTION -->
<Rule Id="C6318" Action="Warning" /> <!-- EXCEPTIONCONTINUESEARCH -->
<Rule Id="C25306" Action="Warning" /> <!-- NOTHROW_FUNC_THROWS -->
<Rule Id="C25314" Action="Warning" /> <!-- NOEXCEPT_FUNC_THROWS -->
<Rule Id="C25317" Action="Warning" /> <!-- NOEXCEPT_DTOR_THROWS -->
<Rule Id="C28714" Action="Warning" /> <!-- CAST_NTSTATUS_TO_BOOL -->
<Rule Id="C28715" Action="Warning" /> <!-- CAST_BOOL_TO_NTSTATUS -->
<Rule Id="C28716" Action="Warning" /> <!-- COMPILER_INSERTED_CAST_BOOL_TO_NTSTATUS -->
<Rule Id="C28750" Action="Warning" /> <!-- BANNED_API_USAGE_LSTRLEN -->
<Rule Id="C28751" Action="Warning" /> <!-- BANNED_API_USAGE_EXALLOCATEPOOL -->
<!-- TVS Minbar Quality Gate: oacr-reliability -->
<Rule Id="C6014" Action="Warning" /> <!-- MEMORY_LEAK -->
<Rule Id="C6064" Action="Warning" /> <!-- MISSING_INTEGER_ARGUMENT_TO_FORMAT_FUNCTION -->
<Rule Id="C6066" Action="Warning" /> <!-- NON_POINTER_ARGUMENT_TO_FORMAT_FUNCTION -->
<Rule Id="C6067" Action="Warning" /> <!-- NON_STRING_ARGUMENT_TO_FORMAT_FUNCTION -->
<Rule Id="C6250" Action="Warning" /> <!-- WIN32UNRELEASEDVADS -->
<Rule Id="C6270" Action="Warning" /> <!-- MISSING_FLOAT_ARGUMENT_TO_FORMAT_FUNCTION -->
<Rule Id="C6271" Action="Warning" /> <!-- EXTRA_ARGUMENT_TO_FORMAT_FUNCTION -->
<Rule Id="C6272" Action="Warning" /> <!-- NON_FLOAT_ARGUMENT_TO_FORMAT_FUNCTION -->
<Rule Id="C6273" Action="Warning" /> <!-- NON_INTEGER_ARGUMENT_TO_FORMAT_FUNCTION -->
<Rule Id="C6278" Action="Warning" /> <!-- ARRAY_NEW_DELETE_MISMATCH -->
<Rule Id="C6279" Action="Warning" /> <!-- NEW_ARRAY_DELETE_MISMATCH -->
<Rule Id="C6280" Action="Warning" /> <!-- MEMORY_ALLOCATION_MISMATCH -->
<Rule Id="C6283" Action="Warning" /> <!-- PRIMITIVE_ARRAY_NEW_DELETE_MISMATCH -->
<Rule Id="C6284" Action="Warning" /> <!-- OBJECT_AS_STRING_ARGUMENT_TO_FORMAT_FUNCTION -->
<Rule Id="C6285" Action="Warning" /> <!-- LOGICALOROFCONSTANTS -->
<Rule Id="C6286" Action="Warning" /> <!-- NONZEROLOGICALORLOSINGSIDEEFFECTS -->
<Rule Id="C6302" Action="Warning" /> <!-- CHAR_WCHAR_ARGUMENT_TO_FORMAT_FUNCTION -->
<Rule Id="C6303" Action="Warning" /> <!-- WCHAR_CHAR_ARGUMENT_TO_FORMAT_FUNCTION -->
<Rule Id="C6314" Action="Warning" /> <!-- BITORVSQUESTION -->
<Rule Id="C6328" Action="Warning" /> <!-- FORMAT_SIZE_MISMATCH -->
<Rule Id="C6333" Action="Warning" /> <!-- VIRTUALFREEINVALIDPARAM3 -->
<Rule Id="C6335" Action="Warning" /> <!-- LEAKING_PROCESS_HANDLE -->
<Rule Id="C6381" Action="Warning" /> <!-- SHUTDOWN_API -->
<Rule Id="C6503" Action="Warning" /> <!-- REFERENCES_CANT_BE_NULL -->
<Rule Id="C6505" Action="Warning" /> <!-- MUSTCHECK_ON_VOID -->
<Rule Id="C6506" Action="Warning" /> <!-- BUFFER_SIZE_ON_NON_POINTER_OR_ARRAY -->
<Rule Id="C6508" Action="Warning" /> <!-- WRITE_ACCESS_ON_CONST -->
<Rule Id="C6510" Action="Warning" /> <!-- NULLTERMINATED_ON_NON_POINTER -->
<Rule Id="C6515" Action="Warning" /> <!-- BUFFER_SIZE_ON_NON_POINTER -->
<Rule Id="C6518" Action="Warning" /> <!-- WRITABLE_SIZE_ON_NON_WRITABLE_BUFFER -->
<Rule Id="C6530" Action="Warning" /> <!-- UNRECOGNIZED_FORMAT_STRING_STYLE -->
<Rule Id="C26835" Action="Warning" /> <!-- RtlCompareMemory -->
<Rule Id="C28103" Action="Warning" /> <!-- RESOURCE_LEAK -->
<Rule Id="C28104" Action="Warning" /> <!-- RESOURCE_NOT_ACQUIRED -->
<Rule Id="C28107" Action="Warning" /> <!-- MUST_HOLD -->
<Rule Id="C28114" Action="Warning" /> <!-- IRP_COPY -->
<Rule Id="C28129" Action="Warning" /> <!-- MUST_BE_BITOP -->
<Rule Id="C28131" Action="Warning" /> <!-- NOT_COPYING_NAME -->
<Rule Id="C28143" Action="Warning" /> <!-- PENDING_STATUS_ERROR -->
<Rule Id="C28176" Action="Warning" /> <!-- READ_ONLY_MEMBER -->
<Rule Id="C28198" Action="Warning" /> <!-- ALIASED_MEMORY_LEAK_EXCEPTION -->
<Rule Id="C28601" Action="Warning" /> <!-- AVOID_BLOCKING_HWNDBROADCAST -->
<Rule Id="C28602" Action="Warning" /> <!-- AVOID_TIMEOUT_HWNDBROADCAST -->
<Rule Id="C28604" Action="Warning" /> <!-- AVOID_SENDMESSAGE_TIMEOUT_MISUSE -->
<Rule Id="C28616" Action="Warning" /> <!-- INTERLOCKEDDECREMENT_MISUSE1 -->
<Rule Id="C28623" Action="Warning" /> <!-- UNSIGNED_CAST_OF_GETMESSAGEPOS -->
<Rule Id="C28637" Action="Warning" /> <!-- UNSAFE_CALL_IN_GLOBAL_INIT -->
<Rule Id="C28650" Action="Warning" /> <!-- IMPROPER_NOT_OPERATOR_ON_ZERO -->
<Rule Id="C28730" Action="Warning" /> <!-- INCORRECT_NULLTERM_ASSIGN -->
<!-- TVS Minbar Quality Gate: oacr-twc -->
<Rule Id="C33001" Action="Warning" /> <!-- VARIANTCLEAR_UNINITIALIZED -->
<Rule Id="C33010" Action="Warning" /> <!-- UNCHECKED_LOWER_BOUND_FOR_ENUMINDEX -->
<Rule Id="C33020" Action="Warning" /> <!-- HRESULT_LIKELY_INCORRECT_USAGE -->
</Rules>
</RuleSet>