UpdateImpactLevel enumeration

Indicates a high, medium, or low impact of a device running an out-of-date OS. This enumeration is generally used by UpdateAssessment structures, which is in turn nested inside the returned OSUpdateAssessment from GetOSUpdateAssessment.


typedef enum TagUpdateImpactLevel { 
      UpdateImpactLevel_None    = 0,
  UpdateImpactLevel_Low         = 1,
      UpdateImpactLevel_Medium  = 2,
  UpdateImpactLevel_High        = 3
} UpdateImpactLevel;



There is no foreseeable impact to your device. This can be because the device is up-to-date, or is not up-to-date because the device is honoring its Windows Update for Business deferral periods, or is out-of-date but has not yet reached the daysOutOfDate threshold to reach a higher impact level.


The device is not running the latest OS, but has a recent update.


The device is running the latest OS, but has a moderately recent update.


The device has been out-of-date for a long time. This device may have security vulnerabilities and may be missing important fixes that make Windows run better. When a device is running a version of Windows that is no longer supported, UpdateImpactLevel_High is always returned.


When GetOSUpdateAssessment is called, an OSUpdateAssessment structure is returned. Within the structure there is an assessmentForCurrent and assessmentForUpToDate. Both of these are UpdateAssessment structures. Both members have an UpdateImpactLevel enumeration, which indicates a high, medium, low or no impact for a device running an out-of-date OS. These levels are determined by the value of daysOutOfDate.


Requirement Value
Minimum supported client
Windows 10, version 1703 [desktop apps only]
Minimum supported server
Windows Server 2016 [desktop apps only]