Revision Summary Date Revision History Revision Class Comments 2/22/2007 0.01 New Version 0.01 release 6/1/2007 1.0 Major Updated and revised the technical content. 7/3/2007 1.0.1 Editorial Changed language and formatting in the technical content. 7/20/2007 1.1 Minor Clarified the meaning of the technical content. 8/10/2007 1.2 Clarified the meaning of the technical content. 9/28/2007 1.3 Minor Clarified the meaning of the technical content. 10/23/2007 1.3.1 Editorial Changed language and formatting in the technical content. 11/30/2007 1.4 Minor Clarified the meaning of the technical content. 1/25/2008 1.4.1 Editorial Changed language and formatting in the technical content.
3/14/2008 1.4.2 Editorial Changed language and formatting in the technical content. 5/16/2008 1.4.3 Editorial Changed language and formatting in the technical content. 6/20/2008 2.0 Major Updated and revised the technical content. 7/25/2008 2.0.1 Editorial Changed language and formatting in the technical content. 8/29/2008 2.0.2 Editorial Changed language and formatting in the technical content. 10/24/2008 2.0.3 Editorial Changed language and formatting in the technical content. 12/5/2008 3.0 Major Updated and revised the technical content. 1/16/2009 3.0.1 Editorial Changed language and formatting in the technical content. 2/27/2009 3.0.2 Editorial Changed language
and formatting in the technical content. 4/10/2009 3.0.3 Editorial Changed language and formatting in the technical content. 5/22/2009 4.0 Updated and revised the technical content. 7/2/2009 5.0 Major Updated and revised the technical content. 8/14/2009 5.1 Clarified the meaning of the technical content. 9/25/2009 5.2 Clarified the meaning of the technical content. 11/6/2009 6.0 Major Updated and revised 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 9.0.1 Editorial Changed language and formatting in the technical content. 7/16/2010 9.0.1 None No changes to the meaning, language, or formatting of the technical content. 8/27/2010 9.0.1 None No changes to the meaning, language, or formatting of the technical content. 10/8/2010 9.0.1 None No changes to the meaning, language, or formatting of the technical content. 11/19/2010 9.0.1 None No changes to the meaning, language, or formatting of the technical content. 1/7/2011 9.0.1 None No changes to the meaning, language, or
formatting of the technical content. 2/11/2011 9.0.1 None No changes to the meaning, language, or formatting of the technical content. 3/25/2011 9.0.1 None No changes to the meaning, language, or formatting of the technical content. 5/6/2011 9.0.1 None No changes to the meaning, language, or formatting of the technical content. 6/17/2011 9.1 Clarified the meaning of the technical content. 9/23/2011 9.1 None No changes to the meaning, language, or formatting of the technical content. 12/16/2011 10.0 Major Updated and revised the technical content. 3/30/2012 10.1 Minor Clarified the meaning of the technical content.
6/30/2015 12.0 Significantly changed the technical content. 10/16/2015 12.0 None No changes to the meaning, language, or formatting of the technical content. 7/14/2016 12.0 None No changes to the meaning, language, or formatting of the technical content. 6/1/2017 12.0 None No changes to the meaning, language, or formatting of the technical content. 9/15/2017 13.0 Significantly changed the technical content. 12/1/2017 13.0 None No changes to the meaning, language, or formatting of the technical content. 9/12/2018 14.0 Major Significantly changed the technical content.
result packetHeader (72 bytes): The part of the packet. The virtual channel name MUST be set to "RC_CTL". bufHeader (4 bytes): The part of the packet. The packet type MUST be set to REMOTEDESKTOP_CTL_RESULT. result (4 bytes): One of the values from the , as a DWORD. REMOTEDESKTOP_CTL_VERIFY_PASSWORD_PACKET The REMOTEDESKTOP_CTL_VERIFY_PASSWORD_PACKET contains the encrypted password. This packet is sent by the to the . This packet is applicable only for version 2. 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 packetHeader (72 bytes) ... ... bufHeader expertBlob (variable) ... packetHeader (72 The part of the packet. The virtual channel name MUST be set to "RC_CTL". bufHeader (4 bytes): The part of the packet. The packet type MUST be set to REMOTEDESKTOP_CTL_VERIFY_PASSWORD. expertBlob (variable): A variable-length, semicolon-delimited, -based set of PropertyName, PropertyValue pairs. Each pair is also prefixed with the length of the characters in the pair, including the equal (=) sign. For example, if PropertyName is "NAME", and PropertyValue is "John", the value of expertBlob is "9;NAME=John". This is a mechanism to provide more information about the expert that is connecting to the novice. "NAME" and "PASS" are the only two properties used in expertBlob. The PASS property is used in version 1. The PASS property value is a string that contains the result of encrypting the PassStub in the Remote Assistance Invitation File with the password. For more details, see section 6. An example of an expertBlob with the PASS property is as follows. 9;NAME=John69;PASS= D4B4277E9E9D06CFC19BB23FD869B5E0C99B0908280407A6E2EEC43F98035F7D
7 SAFERROR_OUTOFMEMORY A memory allocation error occurred. 8 SAFERROR_CONNECTIONTIMEDOUT A connection could not be established within the time-out period. 9 SAFERROR_SOCKETCONNECTFAILED Connection to the remote computer failed. 11 SAFERROR_HOSTNOTFOUND The remote computer is unreachable. 12 SAFERROR_WINSOCKSENDFAILED A socket write failed. 14 SAFERROR_INVALIDIPADDR The IP address given is not valid. 15 SAFERROR_SOCKETRECVFAILED A socket read failed. 18 SAFERROR_INVALIDENCRYPTION An encryption error occurred. 20 SAFERROR_GETHOSTBYNAMEFAILED Winsock name resolution failed. 21 SAFERROR_LICENSINGFAILED Remote Desktop Protocol: Basic Connectivity and Graphics Remoting licensing for the connection failed. 22 SAFERROR_ENCRYPTIONERROR Remote Desktop Protocol: Basic Connectivity and
Graphics Remoting encryption error occurred. 23 SAFERROR_DECRYPTIONERROR A Remote Desktop Protocol decryption error occurred. 24 SAFERROR_INVALIDPARAMETERSTRING An invalid Remote Assistance Connection String, as specified in section 2.2, was used. 25 SAFERROR_HELPSESSIONNOTFOUND A Remote Assistance Connection String, as specified in [MS-RAI], section 2.2, was not 26 SAFERROR_INVALIDPASSWORD An invalid password was used. This message is only used in version 1. 27 SAFERROR_HELPSESSIONEXPIRED The Remote Assistance Connection String, as specified in [MS-RAI] section 2.2, has expired. 28 SAFERROR_CANTOPENRESOLVER The remote computer not resolve the session. 29 SAFERROR_UNKNOWNSESSMGRERROR An unknown occurred in the remote session manager.
30 SAFERROR_CANTFORMLINKTOUSERSESSION The remote computer not establish a connection to the specified user session. SAFERROR_RCPROTOCOLERROR A remote control protocol error occurred. 33 SAFERROR_RCUNKNOWNERROR An unknown remote control error occurred. 34 SAFERROR_INTERNALERROR An internal error occurred. 35 SAFERROR_HELPEERESPONSEPENDING This code is not used. 36 SAFERROR_HELPEESAIDYES This code is not used. 37 SAFERROR_HELPEEALREADYBEINGHELPED The user is already under remote control. 38 SAFERROR_HELPEECONSIDERINGHELP This code is not used. 40 SAFERROR_HELPEENEVERRESPONDED The remote user did not accept the remote control request during the time-out period. 41 SAFERROR_HELPEESAIDNO The remote user denied the remote control request. 42 SAFERROR_HELPSESSIONACCESSDENIED The remote user does not have access to the specified connection
string, as specified in [MS-RAI], section 2.2. 43 SAFERROR_USERNOTFOUND The specified remote user was not found. 44 SAFERROR_SESSMGRERRORNOTINIT A remote error occurred with the session manager. 45 SAFERROR_SELFHELPNOTSUPPORTED Attempting to control your own session remotely is not supported. 47 SAFERROR_INCOMPATIBLEVERSION An incompatible version was This message is only used in version 1. 48 SAFERROR_SESSIONNOTCONNECTED This code is not used. 50 SAFERROR_SYSTEMSHUTDOWN The remote system is shutting down. 51 SAFERROR_STOPLISTENBYUSER The remote system has stopped listening for an incoming connection. 52 SAFERROR_WINSOCK_FAILED A Winsock call has failed. 53 SAFERROR_MISMATCHPARMS A parameter mismatch has occurred. 61 PASSWORDS_DONT_MATCH An invalid password was used. This message is
70 73 78 9 L Local events 63 62 61 58 Session Initialization Expert (Client) ( 40, 53) Session Initialization Novice (Server) ( 43, 55) 68 71 75 79 M Message processing 63 62 60 57 Session Initialization Expert (Client) ( 38, 52) Session Initialization Novice (Server) ( 42, 55) 67 70 74 78 Messages 31 27 28 28 27 23 14 14 14 14 31 N 10 O 11 P 81 12 12 82 Protocol Details 33 R 23 10 11 10 12 28 28 14 14 16 16 15 15 17 17 17 17 14 14 22 21 19 19 18 18 22 20 18 18 19 19 21 S Security 81 81 Sequencing rules 63 62 60 57 Session Initialization Expert (Client) ( 38, 52) Session Initialization Novice (Server) ( 42, 55) 67 70 74 78 27 11 23 11 Session Initialization Expert (Client) abstract data model ( 37, 51) triggered events ( 38, 52) initialization ( 38, 51) events ( 40, 53) message processing ( 38, 52) overview ( 36, 50) sequencing rules ( 38, 52) timer events ( 40, 52) timers ( 38, 51) Session Initialization Expert for Versions 1 and 2 (Client)
43 14 14 Session Initialization Novice (Server) abstract data model ( 42, 54) higher-layer triggered events ( 42, 55) initialization ( 42, 54) local events ( 43, 55) message processing ( 42, 55) overview ( 41, 53) sequencing rules ( 42, 55) timer events ( 43, 55) timers ( 42, 54) Share Control RA Expert (Client) 66 67 67 68 67 66 67 68 66 Share Control RA Novice (Server) 69 70 70 71 70 69 70 71 69 13 14 T Timer events 63 62 61 58 Session Initialization Expert (Client) ( 40, 52) Session Initialization Novice (Server) ( 43, 55) 68 71 75 79 Timers 62 62 59 56 Session Initialization Expert (Client) ( 38, 51) Session Initialization Novice (Server) ( 42, 54) 66 69 73 77 84 14 Triggered events - higher-layer 63 62 60 56 Session Initialization Expert (Client) ( 38, 52) Session Initialization Novice (Server) ( 42, 55) 67 70 74 78 V 13 13 Voice Expert (Client) 73 74 73 75 74 71 74 75 73 Voice Novice (Server) 77 78 78 79 78 75 78 79 77 12 80