Geoff Chappell - Software Analyst
Windows XP collected several single-byte booleans in the ETHREAD and made bit fields of them. Five went into a set that is overlaid by the CrossThreadFlags member, which is a ULONG for simultaneous access to all the bits described below:
Mask | Definition | Versions | History |
---|---|---|---|
0x00000001 |
ULONG Terminated : 1; |
5.1 and higher | previously as ULONG named HasTerminated |
0x00000002 |
ULONG DeadThread : 1; |
5.1 to 5.2 | previously as BOOLEAN |
ULONG ThreadInserted : 1; |
6.0 and higher | ||
0x00000004 |
ULONG HideFromDebugger : 1; |
5.1 and higher | previously as BOOLEAN |
0x00000008 |
ULONG ActiveImpersonationInfo : 1; |
5.1 and higher | previously as BOOLEAN |
0x00000010 (5.1 to 6.1) |
ULONG SystemThread : 1; |
5.1 to 6.1 | |
0x00000020 (5.1 to 6.1); 0x00000010 |
ULONG HardErrorsAreDisabled : 1; |
5.1 and higher | previously as BOOLEAN |
0x00000040 (5.1 to 6.1); 0x00000020 |
ULONG BreakOnTermination : 1; |
5.1 and higher | |
0x00000080 (5.1 to 6.1); 0x00000040 |
ULONG SkipCreationMsg : 1; |
5.1 and higher | |
0x00000100 (5.1 to 6.1); 0x00000080 |
ULONG SkipTerminationMsg : 1; |
5.1 and higher | |
0x00000200 (5.1 to 6.1); 0x00000100 |
ULONG CopyTokenOnOpen : 1; |
6.0 and higher | |
0x00001C00 (5.1 to 6.1); 0x00000E00 |
ULONG ThreadIoPriority : 3; |
6.0 and higher | |
0x0000E000 (5.1 to 6.1); 0x00007000 |
ULONG ThreadPagePriority : 3; |
6.0 and higher | |
0x00010000 (5.1 to 6.1); 0x00008000 |
ULONG RundownFail : 1; |
6.0 and higher | |
0x00020000 (5.1 to 6.1); 0x00010000 |
ULONG NeedsWorkingSetAging : 1; |
6.1 only | |
ULONG UmsForceQueueTermination : 1; |
6.2 and higher | ||
0x00020000 |
ULONG IndirectCpuSets : 1; |
10.0 and higher | |
0x00040000 |
ULONG DisableDynamicCodeOptOut : 1; |
1607 and higher | |
0x00080000 |
ULONG ExplicitCaseSensitivity; |
1607 and higher | |
0x00100000 |
ULONG PicoNotifyExit : 1; |
1703 and higher | |
0x00200000 |
ULONG DbgWerUserReportActive : 1; |
1703 and higher | |
0x00400000 |
ULONG ForcedSelfTrimActive : 1; |
1709 and higher | |
0x00800000 |
ULONG SamplingCoverage : 1; |
1803 and higher | |
ULONG ReservedCrossThreadFlags : 15; |
6.2 to 6.3 | ||
ULONG ReservedCrossThreadFlags : 14; |
10.0 to 1511 | ||
ULONG ReservedCrossThreadFlags : 12; |
1607 only | ||
ULONG ReservedCrossThreadFlags : 10; |
1703 only | ||
ULONG ReservedCrossThreadFlags : 9; |
1709 only | ||
ULONG ReservedCrossThreadFlags : 8; |
1803 and higher |