2.2 Message Syntax
The Remote Desktop Protocol: Dynamic Virtual Channel Extension consists of the following five types of messages exchanged between the server and the client.
Capability Negotiation message
Channel Open message
Channel DataFirst message and DataFirst Compressed message
Channel Data message and Data Compressed message
Channel Close message
Each PDU has the same 1-byte header with the optionalFields field following it. The cbId and Cmd fields are common to all PDUs. The data following the PDU header depends on the type of the message and is addressed in the following sections.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
cbId |
Sp |
Cmd |
optionalFields (variable) |
||||||||||||||||||||||||||||
... |
cbId (2 bits): Indicates the length of the ChannelId field.
-
Value
Meaning
0x00
The ChannelId is 1 byte wide.
0x01
The ChannelId is 2 bytes wide.
0x02
The ChannelId is 4 bytes wide.
0x03
Invalid value.
Sp (2 bits): The value and meaning depend on the Cmd field.
Cmd (4 bits): Indicates the PDU type and MUST be set to one of the following values.
-
Value
Meaning
0x01
The message contained in the optionalFields field is a Create Request PDU (section 2.2.2.1) or a Create Response PDU (section 2.2.2.2).
0x02
The message contained in the optionalFields field is a Data First PDU (section 2.2.3.1).
0x03
The message contained in the optionalFields field is a Data PDU (section 2.2.3.2).
0x04
The message contained in the optionalFields field is a Close Request PDU (section 2.2.4) or a Close Response PDU (section 2.2.4).
0x05
The message contained in the optionalFields field is a Capability Request PDU (section 2.2.1.1) or a Capabilities Response PDU (section 2.2.1.2).
0x06
The message contained in the optionalFields field is a Data First Compressed PDU (section 2.2.3.3).
0x07
The message contained in the optionalFields field is a Data Compressed PDU (section 2.2.3.4).
0x08
The message contained in the optionalFields field is a Soft-Sync Request PDU (section 2.2.5.1).
0x09
The message contained in the optionalFields field is a Soft-Sync Response PDU (section 2.2.5.2).
optionalFields (variable): The data following the message header depends on the type of the message and is addressed in the following sections.