Geoff Chappell - Software Analyst
When Windows 8 introduced a set of InternalBootFlags to the LOADER_PARAMETER_EXTENSION, the interpretation in bits was not explicit. The InternalBootFlags were just a ULONGLONG. The meaningful bits were at first defined by macro. For the 1703 release of Windows 10, Microsoft formalised the interpretation by defining InternalBootFlags in union with a set of ULONGLONG bit fields:
Mask | Definition | Versions |
---|---|---|
0x00000000`00000001 |
ULONGLONG DbgUtcBootTime : 1; |
1703 and higher |
0x00000000`00000002 |
ULONGLONG DbgRtcBootTime : 1; |
1703 and higher |
0x00000000`00000004 |
ULONGLONG DbgNoLegacyServices : 1; |
1703 and higher |
Microsoft’s macro definitions for these masks are known from the arc.h which Microsoft published with the Windows Driver Kit (WDK) for the original and 1511 releases of Windows 10:
Curiously, this ARC.H has no definitions of this sort for the otherwise similar BootFlags that were introduced concurrently. Against this, the BootFlags were formalised as bit fields one release earlier, i.e., for Version 1607.