Files
reactos/sdk/lib/rtl
George Bișoc 8d4705fcea [RTL] Introduce newer BSD item type enums
With Windows 10/11 new enum fields were added to RTL_BSD_ITEM_TYPE namely RtlBsdPowerTransitionExtension, RtlBsdItemFeatureConfigurationState and RtlBsdItemRevocationListInfo.
Currently there's no information about what fields does RTL_BSD_ITEM_REVOCATION_LIST have at the moment, so it's stubbed out. RTL_BSD_DATA_POWER_TRANSITION_EXTENSION is used by RtlBsdPowerTransitionExtension that contains extended power information such as critical thermal shutdown and whatnot.

The source of these fields is from PHNT -> https://github.com/winsiderss/systeminformer/blob/master/phnt/include/ntrtl.h#L15124

That stuff is particularly useful when working futher on RSOH (the Red Screen of Hell feature) as we can use RtlGetSetBootStatusData to set the thermal condition bit and have this popup screen be displayed on next boot if the kernel finds out the system was running too hot.
2026-09-13 21:51:12 +02:00
..
…
…
2026-03-01 10:38:42 +02:00
2026-05-21 12:07:24 +00:00
…
…
2026-05-29 18:21:33 +00:00
…
…
…
…
…
…
2026-07-22 19:53:20 -05:00
…
2026-05-21 12:07:24 +00:00
…
…
…
2025-08-07 11:59:38 +03:00
2025-08-07 11:59:38 +03:00
2025-12-28 12:33:01 +02:00
…
2026-05-21 12:07:24 +00:00
…
…
…
…
…
…
…
…
…

RTL restrictions:

ExAllocatePool (and friends) must be used exclusively. RtlAllocateHeap (and friends) must NOT be used! ExAllocatePool (and friends) translate to RtlAllocateHeap (and friends) in ntdll\rtl\libsupp.c.

RtlEnterCriticalSection (and friends) must be used exclusively. ExAcquireFastMutex (and friends) must NOT be used! RtlEnterCriticalSection (and friends) translate to ExAcquireFastMutex (and friends) in ntoskrnl\rtl\libsupp.c. This means that RtlEnterCriticalSection (and friends) can NOT be used recursively in RTL. The reason for choosing RtlEnterCriticalSection (and friends) over ExAcquireFastMutex (and friends) is that the FAST_MUTEX struct is smaller than the RTL_CRITICAL_SECTION struct.