2.2.2.2.3 HandshakeEx PDU (TS_RAIL_ORDER_HANDSHAKE_EX)

The HandshakeEx PDU (instead of the Handshake PDU) is sent from the server to the client if both the client and the server specified support for it by including the TS_RAIL_LEVEL_HANDSHAKE_EX_SUPPORTED flag in the Remote Programs Capability Set (section 2.2.1.1.1). This PDU is also sent by the server in an Enhanced RemoteApp session to signal that it is ready to begin Enhanced RemoteApp mode. The server sends the HandshakeEx PDU, and the client responds with the Handshake PDU (section 2.2.2.2.1).


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

railHandshakeFlags

header (4 bytes): A TS_RAIL_PDU_HEADER (section 2.2.2.1) structure. The orderType field of the header MUST be set to 0x0013 (TS_RAIL_ORDER_HANDSHAKE_EX).

buildNumber (4 bytes): An unsigned 32-bit integer. The build or version of the sending party.

railHandshakeFlags (4 bytes): An unsigned 32-bit integer. Flags for setting up RAIL session parameters.

Flag

Meaning

TS_RAIL_ORDER_HANDSHAKEEX_FLAGS_HIDEF

0x00000001

Indicates that Enhanced RemoteApp (section 1.3.3) is supported. This implies support for the Remote Desktop Protocol: Graphics Pipeline Extension ([MS-RDPEGFX] section 1.5), specifically the RDPGFX_MAP_SURFACE_TO_WINDOW_PDU ([MS-RDPEGFX] section 2.2.2.20) message.

TS_RAIL_ORDER_HANDSHAKE_EX_FLAGS_

EXTENDED_SPI_SUPPORTED

0x00000002

Indicates that additional system parameter flags are supported in the Client System Parameters Update PDU (section 2.2.2.4.1).

TS_RAIL_ORDER_HANDSHAKE_EX_FLAGS_SNAP_ARRANGE_SUPPORTED

0x00000004

Indicates that the server supports the Client Window Snap PDU (section 2.2.2.7.5).

TS_RAIL_ORDER_HANDSHAKE_EX_FLAGS_TEXT_SCALE_SUPPORTED

0x00000008

Indicates that the server supports the Text Scale Information PDU (section 2.2.2.15.1).

TS_RAIL_ORDER_HANDSHAKE_EX_FLAGS_CARET_BLINK_SUPPORTED

0x00000010

Indicates that the server supports the Caret Blink Information PDU (section 2.2.2.15.2).

TS_RAIL_ORDER_HANDSHAKE_EX_FLAGS_EXTENDED_SPI_2_SUPPORTED

0x00000020

Indicates that more additional system parameter flags are supported in the Client System Parameters Update PDU (section 2.2.2.4.1).

TS_RAIL_ORDER_HANDSHAKE_EX_FLAGS_EXTENDED_SPI_3_SUPPORTED

0x00000040

Indicates that more additional system parameter flags are supported in the Client System Parameters Update PDU (section 2.2.2.4.1).