Revision Summary Date Revision History Revision Comments 3/2/2007 0.01 New Version 0.01 release 7/3/2007 1.0 Major MLonghorn+90 7/20/2007 1.0.1 Editorial Changed language and formatting in the technical content. 8/10/2007 1.0.2 Editorial Changed language and formatting in the technical content. 9/28/2007 1.0.3 Editorial Changed language and formatting in the technical content. 10/23/2007 2.0 Major new normative references. 11/30/2007 2.1 Minor Corrected some section numbering. 1/25/2008 2.1.1 Editorial Changed language and formatting in the technical content. 3/14/2008 3.0 Major Updated and revised the technical content. 5/16/2008 3.0.1 Editorial Changed language and formatting in the technical content. 6/20/2008 4.0 Major Updated and revised the technical content. 7/25/2008 4.0.1 Editorial Changed language and formatting in the technical content.
8/29/2008 4.0.2 Editorial Changed language and formatting in the technical content. 10/24/2008 4.0.3 Editorial Changed language and formatting in the technical content. 12/5/2008 5.0 Major Updated and revised the technical content. 1/16/2009 5.0.1 Editorial Changed language and formatting in the technical content. 2/27/2009 5.0.2 Editorial Changed language and formatting in the technical content. 4/10/2009 5.1 Clarified the meaning of the technical content. 5/22/2009 6.0 Major Updated and revised the technical content. 7/2/2009 6.0.1 Editorial Changed language and formatting in the technical content. 8/14/2009 6.0.2 Editorial Changed language and formatting in the technical content. 9/25/2009 6.1 Minor Clarified the meaning of the technical content. 11/6/2009 6.1.1 Editorial Changed language and formatting in the technical content.
12/18/2009 7.0 Major Updated and revised the technical content. 1/29/2010 8.0 Major Updated and revised the technical content. 3/12/2010 8.0.1 Editorial Changed language and formatting in the technical content. 4/23/2010 9.0 Major Updated and revised the technical content. 6/4/2010 10.0 Major Updated and revised the technical content. 7/16/2010 11.0 Major Updated and revised the technical content. 8/27/2010 11.1 Minor Clarified the meaning of the technical content. 10/8/2010 11.1 None No changes to the meaning, language, or formatting of the technical content. 11/19/2010 11.1 None No changes to the meaning, language, or formatting of the technical content. 1/7/2011 11.1 None No changes to the meaning, language, or formatting of the technical content. 2/11/2011 12.0 Major Updated and revised the technical content.
3/25/2011 13.0 Major Updated and revised the technical content. 5/6/2011 13.0 None No changes to the meaning, language, or formatting of the technical content. 6/17/2011 13.1 Clarified the meaning of the technical content. 9/23/2011 14.0 Updated and revised the technical content. 12/16/2011 15.0 Major Updated and revised the technical content. 3/30/2012 15.0 None No changes to the meaning, language, or formatting of the technical content. 7/12/2012 15.0 None No changes to the meaning, language, or formatting of the technical content. 10/25/2012 15.0 None No changes to the meaning, language, or formatting of the technical content. 1/31/2013 15.0 None No changes to the meaning, language, or formatting of the technical content. 8/8/2013 16.0 Major Updated and revised the technical content. 11/14/2013 17.0 Major Updated and revised the
NumVisibilityRects (optional) VisibilityRects (variable) ... OverlayDescription (variable) ... TaskbarButton (optional) EnforceServerZOrder (optional) AppBarState (optional) AppBarEdge (optional) Hdr (11 bytes): Eleven bytes. Common Window AltSec Order header, . The FieldsPresentFlags field of the header MUST conform to the values defined as follows. Value Meaning 0x01000000 WINDOW_ORDER_TYPE_WINDOW Indicates a Windowing Alternate Secondary Drawing Order describing a window. This flag MUST be set. 0x10000000 WINDOW_ORDER_STATE_NEW Indicates that the Windowing Alternate Secondary Drawing Order contains information for a new window. If this flag is not set, the order contains information for an existing window. 0x00000002 WINDOW_ORDER_FIELD_OWNER Indicates that the OwnerWindowId is present. 0x00000008 WINDOW_ORDER_FIELD_STYLE Indicates that the and ExtendedStyle fields are present. 0x00000010 WINDOW_ORDER_FIELD_SHOW Indicates that the ShowState is present. 0x00000004 WINDOW_ORDER_FIELD_TITLE Indicates that the TitleInfo field is present. 0x00004000 WINDOW_ORDER_FIELD_CLIENTAREAOFFSET Indicates that the ClientOffsetX and ClientOffsetY fields are present. 0x00010000 WINDOW_ORDER_FIELD_CLIENTAREASIZE Indicates that the ClientAreaWidth and ClientAreaHeight fields are present.<3> 0x00000080 WINDOW_ORDER_FIELD_RESIZE_MARGIN_X Indicates that the WindowLeftResizeMargin and WindowRightResizeMargin fields are present. 0x08000000 WINDOW_ORDER_FIELD_RESIZE_MARGIN_Y Indicates that the WindowTopResizeMargin and WindowBottomResizeMargin fields are present. 0x00020000 WINDOW_ORDER_FIELD_RPCONTENT Indicates that the RPContent field is present. <4> 0x00040000 WINDOW_ORDER_FIELD_ROOTPARENT Indicates that the RootParentHandle is present. <5>
TKF_HOTKEYSOUND 0x00000010 A sound is played whenever the Toggle Keys feature is turned on or off using the hotkey. Sticky Keys System Information Structure (TS_STICKYKEYS) The TS_STICKYKEYS packet defines parameters for the accessibility feature. 0 1 2 3 4 5 6 7 8 9 1 0 1 2 3 4 5 6 7 8 9 2 0 1 2 3 4 5 6 7 8 9 3 0 1 Flags (4 bytes): An unsigned 32-bit integer that is read by the server and used to set the Sticky Keys parameters. Flag Meaning SKF_STICKYKEYSON 0x00000001 The Sticky Keys feature is enabled. SKF_AVAILABLE 0x00000002 The Sticky Keys feature is available. SKF_HOTKEYACTIVE 0x00000004 The user can turn the Sticky Keys feature on or off by using the hotkey (pressing the SHIFT key five times). SKF_CONFIRMHOTKEY 0x00000008 The user will be prompted with a confirmation dialog before the Sticky Keys feature is enabled the hotkey. SKF_HOTKEYSOUND 0x00000010 A sound is played whenever the Sticky Keys feature is turned on or off using the hotkey. SKF_INDICATOR 0x00000020 A visual indicator is displayed when the Sticky Keys feature is enabled. SKF_AUDIBLEFEEDBACK 0x00000040 A sound is played whenever a modifier key is latched, locked, or released. SKF_TRISTATE 0x00000080 Pressing a modifier key twice in a row will lock the key down until the user presses it a third time. SKF_TWOKEYSOFF 0x00000100 Releasing a modifier key that has been pressed in combination with another key will turn off the Sticky Keys feature. SKF_LSHIFTLOCKED 0x00010000 The left SHIFT key is locked. SKF_RSHIFTLOCKED 0x00020000 The right SHIFT key is locked. SKF_LCTLLOCKED 0x00040000 The left CTRL key is locked.
SKF_RCTLLOCKED 0x00080000 The right CTRL key is locked. SKF_LALTLOCKED 0x00100000 The left ALT key is locked. SKF_RALTLOCKED 0x00200000 The right ALT key is locked. SKF_LWINLOCKED 0x00400000 The left WINDOWS key is locked. SKF_RWINLOCKED 0x00800000 The right WINDOWS key is locked. SKF_LSHIFTLATCHED 0x01000000 The left SHIFT key is latched. SKF_RSHIFTLATCHED 0x02000000 The right SHIFT key is latched. SKF_LCTLLATCHED 0x04000000 The left CTRL key is latched. SKF_RCTLLATCHED 0x08000000 The right CTRL key is latched. SKF_LALTLATCHED 0x10000000 The ALT key is latched. SKF_RALTLATCHED 0x20000000 The right ALT key is latched. SKF_LWINLATCHED 0x40000000 The left WINDOWS key is latched. SKF_RWINLATCHED 0x80000000 The right WINDOWS key is latched. Server System Parameters Update Messages Server System Parameters Update PDU (TS_RAIL_ORDER_SYSPARAM) The Server System Parameters Update PDU is sent from the server to client to synchronize system parameters on the client with on the server. 0 1 2 3 4 5 6 7 8 9 1 0 1 2 3 4 5 6 7 8 9 2 0 1 2 3 4 5 6 7 8 9 3 0 1 Header SystemParameter
RAIL_WMSZ_BOTTOM 0x0006 The bottom edge of the window is being sized. RAIL_WMSZ_BOTTOMLEFT 0x0007 The bottom-left corner of the window is being sized. RAIL_WMSZ_BOTTOMRIGHT 0x0008 The bottom-right corner of the window is being sized. RAIL_WMSZ_MOVE 0x0009 The window is being moved by using the mouse. RAIL_WMSZ_KEYMOVE 0x000A The window is being moved by using the keyboard. RAIL_WMSZ_KEYSIZE 0x000B The window is being resized by using the keyboard. PosX (2 bytes): An unsigned 16-bit integer. The meaning of this field depends upon the value of the MoveSizeType field. Meaning RAIL_WMSZ_LEFT 0x0001 The x-coordinate of the last mouse button-down. RAIL_WMSZ_RIGHT 0x0002 The x-coordinate of the last mouse button-down. RAIL_WMSZ_TOP 0x0003 The x-coordinate of the last button-down. RAIL_WMSZ_TOPLEFT 0x0004 The x-coordinate of the last mouse button-down. RAIL_WMSZ_TOPRIGHT 0x0005 The x-coordinate of the last mouse button-down. RAIL_WMSZ_BOTTOM 0x0006 The x-coordinate of the last mouse button-down. RAIL_WMSZ_BOTTOMLEFT 0x0007 The x-coordinate of the last mouse button-down. RAIL_WMSZ_BOTTOMRIGHT 0x0008 The x-coordinate of the last button-down. RAIL_WMSZ_MOVE 0x0009 The horizontal offset between the window's top-left edge and the current mouse position. RAIL_WMSZ_KEYMOVE 0x000A The x-coordinate of the last mouse button-down.
ImeState (4 bytes): A 32-bit, unsigned integer. Indicates the open or closed state of the . Meaning IME_STATE_CLOSED 0x00000000 The IME state is closed. IME_STATE_OPEN 0x00000001 The IME state is open. ImeConvMode (4 bytes): A 32-bit, unsigned integer. Indicates the IME conversion mode. Meaning IME_CMODE_NATIVE 0x00000001 The input mode is native. If not set, the input mode is alphanumeric. IME_CMODE_KATAKANA 0x00000002 The input mode is Katakana. If not set, the input mode is Hiragana. IME_CMODE_FULLSHAPE 0x00000008 The input mode is full-width. If not set, the input mode is IME_CMODE_ROMAN 0x00000010 The input mode is Roman. IME_CMODE_CHARCODE 0x00000020 Character-code input is in effect. IME_CMODE_HANJACONVERT 0x00000040 conversion mode is in effect. IME_CMODE_SOFTKBD 0x00000080 A soft (on-screen) keyboard is being used. IME_CMODE_NOCONVERSION 0x00000100 IME conversion is inactive (that is, the IME is closed). IME_CMODE_EUDC 0x00000200 End-User Defined Character (EUDC) conversion mode is in effect. IME_CMODE_SYMBOL 0x00000400 Symbol conversion mode is in effect. IME_CMODE_FIXED 0x00000800 Fixed conversion mode is in effect. ImeSentenceMode (4 bytes): An unsigned 4-byte integer that identifies the sentence mode of the IME. Flag Meaning IME_SMODE_NONE 0x00000000 Indicates that the IME uses no information for sentence.
A Abstract data model 74 73 74 71 74 81 82 73 81 71 82 Activate PDU ( 78, 85) 37 16 C 31 16 18 100 Client 74 73 74 71 74 handshake PDU ( 73, 73) higher-layer triggered events ( 73, 74) initialization ( 73, 74) local events ( 74, 81) message processing ( 73, 74) 81 74 sequencing rules ( 73, 74) 77 timer events ( 73, 81) timers ( 73, 74) Client Info PDU ( 75, 82) Client Information PDU ( 77, 84) Client MCS Connect Initial PDU ( 74, 82) 21 Confirm Active PDU ( 75, 83) 73 D Data model - abstract 74 73 74 71 74 81 82 73 81 71 82 35 32 Demand Active PDU ( 75, 83) 37 Desktop Information Orders ( 77, 84) E 15 Examples 91 92 93 93 89 89 95 Execute PDU ( 77, 85) Execute Result PDU ( 77, 85) F 17 G 66 9 H Handshake PDU 73 73 42 Higher-layer triggered events client ( 73, 74) server ( 73, 82) I 97 97 97 11 Initialization client ( 73, 74) server ( 73, 82) Initialization messages ( 41, 77, 84) 91 9 L 92 client event messages ( 53, 78, 85) 93 Local client system parameters update messages ( 45, 78, 85) 93
events client ( 74, 81) server ( 74, 87) M Message processing client ( 73, 74) server ( 73, 82) Messages flows ( 12, 12) 18 18 39 39 18 18 18 Min Max Info PDU ( 79, 86) Move/Size End PDU ( 80, 86) Move/Size Start PDU ( 79, 86) N 39 10 32 Notification Icon Orders ( 76, 83) 33 Notify Event PDU ( 79, 86) O Other local events 81 11 P 97 97 16 16 73 98 Program launching messages ( 43, 43, 77, 85) R 14 13 RAIL session 12 13 13 13 14 RDP core 74 18 82 10 11 10 12 16 18 S 97 97 97 Sequencing client ( 73, 74) server ( 73, 82) Server 81 82 73 81 71 82 handshake PDU ( 73, 73) higher-layer triggered events ( 73, 82) initialization ( 73, 82) events ( 74, 87) message processing ( 73, 82) 82 sequencing ( 73, 82) 84 timer events ( 73, 87) timers ( 73, 82) 82 75 Server system parameters update messages ( 52, 52, 78) Server system parameters update PDU ( 78, 85) 60 57 52 17 Static Virtual Channel 77 39 84 39 21 18 System Command PDU ( 78, 85) System Menu PDU ( 78, 85) 85 System parameters update PDU ( 78, 85) T Timer events client ( 73, 81) server ( 73, 87) Timers client ( 73, 74) server ( 73, 82) 100 18 18 Triggered events - higher-layer client ( 73, 74) server ( 73, 82) 22