Geoff Chappell, Software Analyst
Version 5.0 seems to have exhausted the dwCompatFlags in the THREADINFO and CLIENTINFO structures, prompting a second set. The dwCompatFlags2 were initially 32-bit too, but version 6.1 widened them to a 64-bit qwCompatFlags2. Type information in symbol files for WIN32K.SYS in Windows 7 (only) enumerates the defined flags as ULONGLONG bit fields. What type they have in earlier versions, e.g., ULONG or UINT, is not known.
The table below can list Microsoft’s names only for those bit fields that were defined in version 6.1, i.e., the one version for which the names are known to have been publicly (if obscurely) disclosed. It seems unlikely that I shall ever attempt an enumeration of which flags are defined in which versions, let alone to describe any that have been added since, but you never know.
Mask | Definition | Versions |
---|---|---|
0x00000000`00000001 |
ULONGLONG AnimationOff : 1; |
|
0x00000000`00000002 |
ULONGLONG KCOff : 1; |
|
0x00000000`00000004 |
ULONGLONG No50ExStyles : 1; |
|
0x00000000`00000008 |
ULONGLONG NoDrawPatRect : 1; |
|
0x00000000`00000010 |
ULONGLONG MsShellDlg : 1; |
|
0x00000000`00000020 |
ULONGLONG NoDDETrackDying : 1; |
|
0x00000000`00000040 |
ULONGLONG GiveUpForeground : 1; |
|
0x00000000`00000080 |
ULONGLONG ActiveMenus : 1; |
|
0x00000000`00000100 |
ULONGLONG EditNoMouseHide : 1; |
|
0x00000000`00000200 |
ULONGLONG NoBatching : 1; |
|
0x00000000`00000400 |
ULONGLONG FontSubs : 1; |
|
0x00000000`00000800 |
ULONGLONG No50ExStyleBits : 1; |
|
0x00000000`00001000 |
ULONGLONG NoCustomPaperSize : 1; |
|
0x00000000`00002000 |
ULONGLONG DDE : 1; |
|
0x00000000`00004000 |
ULONGLONG DefaultCharset : 1; |
|
0x00000000`00008000 |
ULONGLONG NoCharDeadKey : 1; |
|
0x00000000`00010000 |
ULONGLONG TryExceptCallWndProc : 1; |
|
0x00000000`00020000 |
ULONGLONG NoInitFlagsOnFocus : 1; |
|
0x00000000`00040000 |
ULONGLONG DDENoSync : 1; |
|
0x00000000`00080000 |
ULONGLONG NoGhost : 1; |
|
0x00000000`00100000 |
ULONGLONG DDENoAsyncReg : 1; |
|
0x00000000`00200000 |
ULONGLONG StrictLLHook : 1; |
|
0x00000000`00400000 |
ULONGLONG NoShadow : 1; |
|
0x00000000`00800000 |
ULONGLONG ForceFusion : 1; |
|
0x00000000`01000000 |
ULONGLONG NoTimeCbProtect : 1; |
|
0x00000000`02000000 |
ULONGLONG DpiAwware : 1; |
|
0x00000000`04000000 |
ULONGLONG OpenGLEMF : 1; |
|
0x00000000`08000000 |
ULONGLONG TransparentBltMirror : 1; |
|
0x00000000`10000000 |
ULONGLONG NoPaddedBorder : 1; |
|
0x00000000`20000000 |
ULONGLONG ForceLegacyResizeNCMetr : 1; |
|
0x00000000`40000000 |
ULONGLONG HardwareMixer : 1; |
|
0x00000000`80000000 |
ULONGLONG NoSoftCursOnMoveSize : 1; |
|
0x00000001`00000000 |
ULONGLONG NoWindowArrangement : 1; |
|
ULONGLONG SpareCompatFlags2 : 31; |