2.2.3.2 DVC Data PDU (DYNVC_DATA)
The DYNVC_DATA PDU is used to send both single messages and blocks of fragmented messages when compression is not being used for the data block.
A single DYNVC_DATA PDU is used to send a message when the total length of the message data is less than or equal to 1,590 bytes.
Multiple DYNVC_DATA PDUs are used to send messages that have been fragmented and that are sent subsequent to a DYNVC_DATA_FIRST (section 2.2.3.1) PDU. DYNVC_DATA PDUs are sent until the entire fragmented message has been sent.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
cbId |
Sp |
Cmd |
ChannelId (variable) |
||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
Data (variable) |
|||||||||||||||||||||||||||||||
... |
cbId (2 bits): Indicates the length of the ChannelId field.
-
Value
Meaning
0x00
ChannelId field length is 1 byte.
0x01
ChannelId field length is 2 bytes.
0x02
ChannelId field length is 4 bytes.
0x03
Invalid value.
Sp (2 bits): Unused. SHOULD be initialized to 0x00.<8>
Cmd (4 bits): MUST be set to 0x03 (Data).
ChannelId (variable): A variable-length 8-bit, 16-bit, or 32-bit unsigned integer. Set to the value of the ChannelId associated with the DVC upon which the PDU is being sent.
Data (variable): An array of bytes. Message data is sent as 8-bit unsigned integers. The maximum size of the array is 1,600 minus the length of the DYNVC_DATA header in bytes. The actual size of this field is the length of the packet after reassembly, as described in [MS-RDPBCGR] section 3.1.5.2.2.1, minus the space taken for Cmd, Sp, cbId, and ChannelId fields.