C# Class Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpbcgr.TS_FP_UPDATE_PDU

Fast-path revises server output packets from the first byte with the goal of improving bandwidth. The TPKT (see [T123]), X.224 (see [X224]) and MCS SDin (see [T125]) headers are replaced, the Security Header is collapsed into the fast-path output header, and the Share Data Header is replaced by a new fast-path format. The contents of the graphics and pointer updates (see sections and ) are also changed to reduce their size, particularly by removing or reducing headers. Support for fast-path output is advertised in the General Capability Set.
file:///C:/ts_dev/TestSuites/MS-RDPBCGR/TestSuite/Src/TD/latest_XMLS_16may/RDPBCGR/ _rfc_ms-rdpbcgr2_1_8_1_2.xml
Inheritance: RdpbcgrServerPdu
Show file Open project: Microsoft/WindowsProtocolTestSuites Class Usage Examples

Public Properties

Property Type Description
dataSignature byte[]
fipsInformation TS_FP_FIPS_INFO
fpOutputHeader byte
fpOutputUpdates Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpbcgr.TS_FP_UPDATE[]
length1 byte
length2 byte

Public Methods

Method Description
Clone ( ) : StackPacket
TS_FP_UPDATE_PDU ( ) : System

The constructor of the class with no parameter.

TS_FP_UPDATE_PDU ( RdpbcgrServerSessionContext serverSessionContext ) : System

The constructor of the class.

ToBytes ( ) : byte[]

Private Methods

Method Description
EncodeBitmap ( TS_FP_UPDATE_BITMAP bitmapData ) : byte[]
EncodeCachedPtr ( TS_FP_CACHEDPOINTERATTRIBUTE ptrData ) : byte[]
EncodeColorPtr ( TS_FP_COLORPOINTERATTRIBUTE ptrData ) : byte[]
EncodeFpHeaderData ( int dataLength ) : byte[]

Encode the fast path header data

EncodeFpOutputData ( ) : byte[]
EncodeNewPtr ( TS_FP_POINTERATTRIBUTE ptrData ) : byte[]
EncodePalette ( TS_FP_UPDATE_PALETTE paletteData ) : byte[]
EncodePtrPos ( TS_FP_POINTERPOSATTRIBUTE ptrData ) : byte[]
EncodeSurfBits ( TS_SURFCMD_SET_SURF_BITS surfBitsData ) : byte[]
EncodeSurfCmds ( TS_FP_SURFCMDS surfCmdsData ) : byte[]
EncodeSurfFrameMaker ( TS_FRAME_MARKER frameMakerData ) : byte[]
EncodeSurfStream ( TS_SURFCMD_STREAM_SURF_BITS surfStreamData ) : byte[]

Method Details

Clone() public method

public Clone ( ) : StackPacket
return StackPacket

TS_FP_UPDATE_PDU() public method

The constructor of the class with no parameter.
public TS_FP_UPDATE_PDU ( ) : System
return System

TS_FP_UPDATE_PDU() public method

The constructor of the class.
public TS_FP_UPDATE_PDU ( RdpbcgrServerSessionContext serverSessionContext ) : System
serverSessionContext RdpbcgrServerSessionContext Specify the session context.
return System

ToBytes() public method

public ToBytes ( ) : byte[]
return byte[]

Property Details

dataSignature public property

8 bytes. Message authentication code (MAC) generated over the packet using one of the techniques specified in section (the FASTPATH_INPUT_SECURE_CHECKSUM flag, which is set in the fpInputHeader field, describes the method used to generate the signature). This field is present if the FASTPATH_INPUT_ENCRYPTED flag is set in the fpInputHeader field.
public byte[] dataSignature
return byte[]

fipsInformation public property

Optional FIPS header information, present when the Encryption Level selected by the server (see sections and ) is ENCRYPTION_LEVEL_FIPS (4). The fast-path FIPS information structure is specified in section .
public TS_FP_FIPS_INFO,Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpbcgr fipsInformation
return TS_FP_FIPS_INFO

fpOutputHeader public property

An 8-bit unsigned integer. One-byte bit-packed header. This byte coincides with the first byte of the TPKT Header (see [T123] section 8), which is always 0x03. Two pieces of information are collapsed into this byte:Encryption dataAction code The format of the fpOutputHeader byte is described by the following bitmask diagram:
public byte fpOutputHeader
return byte

fpOutputUpdates public property

An array of TS_FP_UPDATE structures (variable number of bytes) containing a collection of fast-path updates to be processed by the client.
public TS_FP_UPDATE[],Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpbcgr fpOutputUpdates
return Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpbcgr.TS_FP_UPDATE[]

length1 public property

An 8-bit unsigned integer. If the most significant bit of the length1 field is not set, then the size of the PDU is in the range 1 to 127 bytes and the length1 field contains the overall PDU length (the length2 field is not present in this case). However, if the most significant bit of the length1 field is set, then the overall PDU length is given by the low 7 bits of the length1 field concatenated with the 8 bits of the length2 field, in big-endian order (the length2 field contains the low-order bits).
public byte length1
return byte

length2 public property

An 8-bit unsigned integer. If the most significant bit of the length1 field is not set, then the length2 field is not present. If the most significant bit of the length1 field is set, then the overall PDU length is given by the low 7 bits of the length1 field concatenated with the 8 bits of the length2 field, in big-endian order (the length2 field contains the low-order bits).
public byte length2
return byte