Geoff Chappell, Software Analyst
SKETCH OF HOW RESEARCH MIGHT CONTINUE AND RESULTS BE PRESENTED
The ancient MOVESIZEDATA structure has long had a set of flags. Type information in symbol files for WIN32K.SYS in Windows 7 (only) enumerates the defined flags as UINT bit fields in union with a Flags member that is itself a ULONG. Inevitably, many more have been defined since. It seems unlikely that I shall ever attempt to describe the additions, let alone attempt an enumeration of which flags are defined in which versions, but you never know.
Mask | Definition | Versions | Remarks |
---|---|---|---|
0x00000001 |
UINT fInitSize : 1; |
3.51 and higher | previously BOOL at 0x64 |
0x00000002 |
UINT fmsKbd : 1; |
3.51 and higher | previously BOOL at 0x68 |
0x00000004 |
UINT fLockWindowUpdate : 1; |
||
0x00000008 |
UINT fTrackCancelled : 1; |
3.51 and higher | previously BOOL at 0x6C or 0x74 |
0x00000010 |
UINT fForeground : 1; |
3.51 and higher | previously BOOL at 0x78 |
0x00000020 |
UINT fDragFullWindows : 1; |
3.51 and higher | |
0x00000040 |
UINT fOffScreen : 1; |
4.0 and higher | |
0x00000080 |
UINT fMoveFromMax : 1; |
||
0x00000100 |
UINT fVerticallyMaximizedLeft : 1; |
||
0x00000200 |
UINT fVerticallyMaximizedRight : 1; |
||
0x00000400 |
UINT fSnapSizing : 1; |
||
0x00000800 |
UINT fSnapMoving : 1; |
||
0x00001000 |
UINT fWindowWasSuperMaximized : 1; |
||
0x00002000 |
UINT fStartVerticallyMaximizedLeft : 1; |
||
0x00004000 |
UINT fStartVerticallyMaximizedRight : 1; |
||
0x00038000 |
UINT fThresholdSelector : 3; |
||
0x00040000 |
UINT fCheckPtForcefullyRestored : 1; |
||
0x00080000 |
UINT fForceSizing : 1; |
||
0x00100000 |
UINT fIsMoveSizeLoop : 1; |
||
0x00200000 |
UINT fIsHitPtOffScreen : 1; |
||
0x00400000 |
UINT fSnapSizingTemporaryAllowed : 1; |
||
0x00800000 |
UINT fSnapMovingTemporaryAllowed : 1; |
||
0x01000000 |
UINT frcNormalCheckPtValid : 1; |
||
0x02000000 |
UINT fHasPreviewRect : 1; |
||
0x04000000 |
UINT fUsePreviewRect : 1; |
||
0x08000000 |
UINT fHasSoftwareCursor : 1; |
||
UINT Unused : 1; |