2.2.1.1.1 Remote Programs Capability Set
The Remote Programs Capability Set is sent by the server in the Demand Active PDU and by the client in the Confirm Active PDU, as specified in [MS-RDPBCGR] section 2.2.1.13. It indicates that the client and server are capable of communicating RAIL PDUs over the RAIL static virtual channel.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CapabilitySetType |
LengthCapability |
||||||||||||||||||||||||||||||
RailSupportLevel |
CapabilitySetType (2 bytes): An unsigned 16-bit integer. The type of the capability set. This field MUST be set to 0x0017 (CAPSTYPE_RAIL).
LengthCapability (2 bytes): An unsigned 16-bit integer. The combined length of the CapabilitySetType, LengthCapability, and RailSupportLevel fields, in bytes.
RailSupportLevel (4 bytes): A 4-byte bit field specifying support for Remote Programs and the Docked Language Bar for Remote Programs.<1>
-
0
1
2
3
4
5
6
7
8
91
0
1
2
3
4
5
6
7
8
92
0
1
2
3
4
5
6
7
8
93
0
1S
L
H
I
C
M
K
E
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-
Where the bits are defined as:
-
Value
Description
S
TS_RAIL_LEVEL_SUPPORTED
Set to 1 if the client/server is capable of supporting Remote Programs; set to 0 otherwise.
L
TS_RAIL_LEVEL_DOCKED_LANGBAR_SUPPORTED
Set to 1 if the client/server is capable of supporting Docked Language Bar for Remote Programs; set to 0 otherwise. This flag MUST be set to 0 if TS_RAIL_LEVEL_SUPPORTED is 0.
H
TS_RAIL_LEVEL_SHELL_INTEGRATION_SUPPORTED
Set to 1 if the client/server is capable of supporting extended shell integration like tabbed windows and overlay icons for Remote Programs; set to 0 otherwise. This flag MUST be set to 0 if TS_RAIL_LEVEL_SUPPORTED is 0.
I
TS_RAIL_LEVEL_LANGUAGE_IME_SYNC_SUPPORTED
Set to 1 if the client/server is capable of supporting syncing language/IME changes for Remote Programs; set to 0 otherwise. This flag MUST be set to 0 if TS_RAIL_LEVEL_SUPPORTED is 0.
C
TS_RAIL_LEVEL_SERVER_TO_CLIENT_IME_SYNC_SUPPORTED
Set to 1 if the client/server is capable of supporting syncing IME changes originating at the server for Remote Programs; set to 0 otherwise. This flag MUST be set to 0 if TS_RAIL_LEVEL_SUPPORTED is 0.
M
TS_RAIL_LEVEL_HIDE_MINIMIZED_APPS_SUPPORTED
Set to 1 if the client/server supports hiding minimized windows of Remote Programs on the server; set to 0 otherwise. This flag MUST be set to 0 if TS_RAIL_LEVEL_SUPPORTED is 0.
K
TS_RAIL_LEVEL_WINDOW_CLOAKING_SUPPORTED
Set to 1 if the client/server supports syncing per-window cloak state changes originating on the client for Remote Programs; set to 0 otherwise. This flag MUST be set to 0 if TS_RAIL_LEVEL_SUPPORTED is 0.
E
TS_RAIL_LEVEL_HANDSHAKE_EX_SUPPORTED
Set to 1 if the client/server supports the HandshakeEx PDU (section 2.2.2.2.3); set to 0 otherwise. This flag MUST be set to 0 if TS_RAIL_LEVEL_SUPPORTED is 0.