Revision Summary Date Revision History Revision Class 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 Added new normative references. 11/30/2007 2.1 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 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 Minor 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 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 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 Updated and revised the technical content. 6/4/2010 10.0 Major Updated and revised the technical content. 7/16/2010 11.0 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 Major 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 Updated and revised the technical content. 11/14/2013 17.0 Major Updated and revised the
technical content. 2/13/2014 18.0 Updated and revised the technical content. 5/15/2014 18.0 None No changes to the meaning, language, or formatting of the technical content. 6/30/2015 19.0 Major Significantly changed the technical content. 10/16/2015 20.0 Major Significantly changed the technical content. 3/2/2016 21.0 Major Significantly changed the technical content. 7/14/2016 22.0 Major Significantly changed the technical content. 6/1/2017 23.0 Major Significantly changed the technical content. 9/15/2017 24.0 Major Significantly changed the technical content.
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 buildNumber header (4 bytes): A structure. The orderType field of the header MUST be set to 0x0005 (TS_RAIL_ORDER_HANDSHAKE). buildNumber (4 bytes): An unsigned 32-bit integer. The build or version of the sending party. Client Information PDU (TS_RAIL_ORDER_CLIENTSTATUS) The Client Information PDU is sent from client to server and contains information about client state and features supported by the client. 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 Flags header (4 bytes): A structure. The orderType field of header MUST be set to 0x000b (TS_RAIL_ORDER_CLIENTSTATUS). Flags (4 bytes): An unsigned 32-bit integer. RAIL features that are supported by the client; MUST be set to one of the following. Meaning TS_RAIL_CLIENTSTATUS_ALLOWLOCALMOVESIZE 0x00000001 Indicates that the client supports the local move/size RAIL feature. TS_RAIL_CLIENTSTATUS_AUTORECONNECT 0x00000002 Indicates that the client is to the server after an unexpected disconnect of the session. TS_RAIL_CLIENTSTATUS_ZORDER_SYNC 0x00000004 Indicates that the client supports sync using the Z-Order Sync Information PDU (section ). TS_RAIL_CLIENTSTATUS_WINDOW_RESIZE_MARGIN_SUPPORTED 0x00000010 Indicates that the client supports resize margins using the Window Information PDU (section ). TS_RAIL_CLIENTSTATUS_APPBAR_REMOTING_SUPPORTED 0x00000040 Indicates that the client supports application desktop toolbar remoting using the Window Information PDU (section 2.2.1.3.1). TS_RAIL_CLIENTSTATUS_POWER_DISPLAY_REQUEST_SUPPORTED 0x00000080 Indicates that the client supports sent using the Power Display Request PDU (section ).
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 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. Value Meaning RAIL_WMSZ_LEFT 0x0001 The x-coordinate of the last 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 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 mouse 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.
Index A Abstract data model 73 72 73 70 73 80 81 72 80 70 81 Activate PDU ( 77, 84) 37 16 C 31 16 18 99 Client 73 72 73 70 73 handshake PDU ( 72, 72) higher-layer triggered events ( 72, 73) initialization ( 72, 73) local events ( 73, 80) message processing ( 72, 73) 80 73 sequencing rules ( 72, 73) 76 events ( 72, 80) timers ( 72, 73) Client Info PDU ( 74, 81) Client Information PDU ( 76, 83) Client MCS Connect Initial PDU ( 73, 81) 21 Confirm Active PDU ( 74, 82) 72 D Data model - abstract 73 72 73 70 73 80 81 72 80 70 81 35 32 Demand Active PDU ( 74, 82) 37 Desktop Information Orders ( 76, 83) E 15 Examples 90 91 92 92 88 88 94 Execute PDU ( 76, 84) Execute Result PDU ( 76, 84) F 17 G 65 9 H Handshake PDU 72 72 42 Higher-layer triggered events client ( 72, 73) server ( 72, 81) I 96 96 96 11 Initialization client ( 72, 73) server ( 72, 81) Initialization messages ( 40, 76, 83) 90 9 L 91 Local client event messages ( 52, 77, 84) 92 client system parameters update messages ( 45, 77, 84) 92
events client ( 73, 80) server ( 73, 86) M Message processing client ( 72, 73) server ( 72, 81) Messages flows ( 12, 12) 18 18 39 39 18 18 18 Min Max Info PDU ( 78, 85) Move/Size End PDU ( 79, 85) Move/Size PDU ( 78, 85) N 38 10 32 Notification Icon Orders ( 75, 82) 33 Notify Event PDU ( 78, 85) O Other local events 80 11 P 96 96 16 16 72 97 Program launching messages ( 42, 42, 76, 84) R 14 13 RAIL session 12 13 13 13 14 RDP core 73 18 81 10 11 10 12 16 18 S 96 96 96 Sequencing rules client ( 72, 73) server ( 72, 81) Server 80 81 72 80 70 81 handshake PDU ( 72, 72) higher-layer triggered events ( 72, 81) initialization ( 72, 81) local events ( 73, 86) message processing ( 72, 81) 81 sequencing rules ( 72, 81) 83 timer events ( 72, 86) timers ( 72, 81) 81 74 Server system parameters update messages ( 51, 51, 77) Server system parameters update PDU ( 77, 84) 59 57 51 17 Static Virtual Channel 76 39 83 39 21 18 System Command PDU ( 77, 84) System Menu PDU ( 77, 84) 84 System parameters update PDU ( 77, 84) T Timer events client ( 72, 80) server ( 72, 86) Timers client ( 72, 73) server ( 72, 81) 99 18 18 Triggered events - higher-layer client ( 72, 73) server ( 72, 81) 22