3.1.5.4.4 Recovering Static Virtual Channel Flags

The encapsulations in section 1.3.1 are also valid for static virtual channel tunneling. No additional Channel PDU Header is present for the encapsulated data ([MS-RDPBCGR] section 2.2.6.1.1). Thus, the Channel PDU Header flags are no longer transmitted with the static virtual channel data. Some of these flags can be recovered by the receiver as follows:

  • CHANNEL_FLAG_FIRST (0x00000001) corresponds to a DYNVC_DATA_FIRST PDU (section 2.2.3.1), a DYNVC_DATA_FIRST_COMPRESSED PDU (section 2.2.3.3), a DYNVC_DATA PDU (section 2.2.3.2) containing the entire message, or a DYNVC_DATA_COMPRESSED PDU (section 2.2.3.4) containing the entire message.

  • CHANNEL_FLAG_LAST (0x00000002) corresponds to a DYNVC_DATA PDU (section 2.2.3.2) or a DYNVC_DATA_COMPRESSED PDU (section 2.2.3.4) if the entire message has been received.

  • CHANNEL_FLAG_SHOW_PROTOCOL (0x00000010) depends on the implementation only. An implementation can decide whether or not to prepend a Channel PDU Header ([MS-RDPBCGR] section 2.2.6.1.1) when the received data is passed to the application endpoint. The application endpoint MUST be given enough information to perform reassembly.<11>

  • CHANNEL_FLAG_PACKET_COMPRESSED (0x00200000) is not set because static virtual channel bulk compression MUST NOT be used to compress or decompress the message. If channel compression is desired, dynamic virtual channel compression can be used to compress the data by using the DYNVC_DATA_FIRST_COMPRESSED PDU (section 2.2.3.3) and DYNVC_DATA_COMPRESSED PDU (section 2.2.3.4).

The remaining flags (which are used for static virtual channel bulk compression and flow control) cannot be used.