public override byte[] ToBytes()
{
List<byte> totalBuffer = new List<byte>();
RdpbcgrEncoder.EncodeStructure(totalBuffer, tpktHeader);
RdpbcgrEncoder.EncodeStructure(totalBuffer, x224Data);
if (mcsCrsp != null)
{
byte[] gccData = EncodeGccRspData(mcsCrsp.gccPdu);
#region Filling MCS Connect Response PDU
Connect_Response connectResponse = new Connect_Response();
connectResponse.result = new Result(mcsCrsp.result);
connectResponse.calledConnectId = new Asn1Integer(mcsCrsp.calledConnectId);
connectResponse.domainParameters = new DomainParameters(new Asn1Integer(mcsCrsp.domainParameters.maxChannelIds),
new Asn1Integer(mcsCrsp.domainParameters.maxUserIds),
new Asn1Integer(mcsCrsp.domainParameters.maxTokenIds),
new Asn1Integer(mcsCrsp.domainParameters.numPriorities),
new Asn1Integer(mcsCrsp.domainParameters.minThroughput),
new Asn1Integer(mcsCrsp.domainParameters.maxHeight),
new Asn1Integer(mcsCrsp.domainParameters.maxMcsPduSize),
new Asn1Integer(mcsCrsp.domainParameters.protocolVersion));
connectResponse.userData = new Asn1OctetString(gccData);
#endregion Filling MCS Connect Response PDU
#region Encode MCS Connect Initial PDU
Asn1BerEncodingBuffer berEncodeBuffer = new Asn1BerEncodingBuffer();
connectResponse.BerEncode(berEncodeBuffer);
#endregion MCS Connect Initial PDU
RdpbcgrEncoder.EncodeBytes(totalBuffer, berEncodeBuffer.Data);
}
byte[] encodedBytes = RdpbcgrUtility.ToBytes(totalBuffer);
// ToDo: Ugly dump message code here
// ETW Provider Dump Code
RdpbcgrUtility.ETWProviderDump(this.GetType().Name, encodedBytes);
return encodedBytes;
}