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

Maintain the important parameters of the session during RDPBCGR transport, including the main sent or received PDUs, Channel Manager, the selected Encryption Algorithm etc.
Inheritance: IDisposable
Show file Open project: Microsoft/WindowsProtocolTestSuites Class Usage Examples

Private Properties

Property Type Description
ClearAll void
ClearForReconnect void
Compress byte[]
Decompress byte[]
GenerateSessionKey void
ReassembleChunkData Virtual_Channel_Complete_Pdu
ServerDecrypt bool
ServerEncrypt void
SplitToChunks Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpbcgr.ChannelChunk[]
UpdateSessionKey void

Public Methods

Method Description
AddPacketToBuffer ( Microsoft.Protocols.TestTools.StackSdk.StackPacket pdu ) : void

Add a unprocessed PDU into buffer of this RDP session

Dispose ( ) : void

Dispose

GetPacketFromBuffer ( bool onlySVCPacket = false ) : Microsoft.Protocols.TestTools.StackSdk.StackPacket

Get a unprocessed packet from buffer

RdpbcgrServerSessionContext ( ) : System

Perform all operation and store all the info for the RDPBCGR server session context managing.

UpdateContext ( Microsoft.Protocols.TestTools.StackSdk.StackPacket pdu ) : void

Update some members of context with the specified pdu.

Private Methods

Method Description
ClearAll ( ) : void

Clear all the members.

ClearForReconnect ( ) : void

Clear all the members except the reconnection relative members.

Compress ( compressedType_Values type, byte data, int maxBit = 16 ) : byte[]

Compress payload of slow path or fast path output.

Decompress ( compressedType_Values type, byte data ) : byte[]

Decompress payload of slow path or fast path output.

GenerateSessionKey ( ) : void

Generate session key for encryption by using the member field encryptionAlgorithm.

ReassembleChunkData ( Virtual_Channel_RAW_Pdu pdu ) : Virtual_Channel_Complete_Pdu

Reassemble chunk data by the member field channelManager. This method is called when processing Virtual Channel PDU.

ServerDecrypt ( byte originalData, byte dataSignature, bool isSalted, byte &decryptedData ) : bool

Decrypt data and validate the data signature by using the member field encryptionAlgorithm.

ServerEncrypt ( byte originalData, bool isSalted, byte &encryptedData, byte &dataSignature ) : void

Encrypt data and generate data signature by using the member field encryptionAlgorithm.

SplitToChunks ( long channelId, byte virtualChannelData ) : Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpbcgr.ChannelChunk[]

Split complete virtual data into chunks by the member field channelManager. This method is called when sending Virtual Channel PDU.

UpdateSessionKey ( ) : void

Update session key for encryption by the member field encryptionAlgorithm.

Method Details

AddPacketToBuffer() public method

Add a unprocessed PDU into buffer of this RDP session
public AddPacketToBuffer ( Microsoft.Protocols.TestTools.StackSdk.StackPacket pdu ) : void
pdu Microsoft.Protocols.TestTools.StackSdk.StackPacket
return void

Dispose() public method

Dispose
public Dispose ( ) : void
return void

GetPacketFromBuffer() public method

Get a unprocessed packet from buffer
public GetPacketFromBuffer ( bool onlySVCPacket = false ) : Microsoft.Protocols.TestTools.StackSdk.StackPacket
onlySVCPacket bool
return Microsoft.Protocols.TestTools.StackSdk.StackPacket

RdpbcgrServerSessionContext() public method

Perform all operation and store all the info for the RDPBCGR server session context managing.
public RdpbcgrServerSessionContext ( ) : System
return System

UpdateContext() public method

Update some members of context with the specified pdu.
public UpdateContext ( Microsoft.Protocols.TestTools.StackSdk.StackPacket pdu ) : void
pdu Microsoft.Protocols.TestTools.StackSdk.StackPacket The sending or receiving pdu.
return void