private static byte[] EncodeConfirmData(TS_DEMAND_ACTIVE_PDU demandActivePduData)
{
List<byte> demandBuffer = new List<byte>();
if (demandActivePduData != null)
{
RdpbcgrEncoder.EncodeStructure(demandBuffer, demandActivePduData.shareControlHeader);
RdpbcgrEncoder.EncodeStructure(demandBuffer, demandActivePduData.shareId);
RdpbcgrEncoder.EncodeStructure(demandBuffer, demandActivePduData.lengthSourceDescriptor);
RdpbcgrEncoder.EncodeStructure(demandBuffer, demandActivePduData.lengthCombinedCapabilities);
RdpbcgrEncoder.EncodeBytes(demandBuffer, demandActivePduData.sourceDescriptor);
RdpbcgrEncoder.EncodeStructure(demandBuffer, demandActivePduData.numberCapabilities);
RdpbcgrEncoder.EncodeStructure(demandBuffer, demandActivePduData.pad2Octets);
for (int i = 0; i < demandActivePduData.numberCapabilities; ++i)
{
ITsCapsSet capability = demandActivePduData.capabilitySets[i];
RdpbcgrEncoder.EncodeBytes(demandBuffer, capability.ToBytes());
}
RdpbcgrEncoder.EncodeStructure(demandBuffer, demandActivePduData.sessionId);
}
return demandBuffer.ToArray();
}