public byte[] ToBytes()
{
List<byte> encodeBuffer = new List<byte>();
RdpbcgrEncoder.EncodeStructure(encodeBuffer, (ushort)capabilitySetType);
RdpbcgrEncoder.EncodeStructure(encodeBuffer, lengthCapability);
RdpbcgrEncoder.EncodeStructure(encodeBuffer, supportedBitmapCodecs.bitmapCodecCount);
for (int i = 0; i < supportedBitmapCodecs.bitmapCodecCount; ++i)
{
RdpbcgrEncoder.EncodeStructure(encodeBuffer, supportedBitmapCodecs.bitmapCodecArray[i].codecGUID);
RdpbcgrEncoder.EncodeStructure(encodeBuffer, supportedBitmapCodecs.bitmapCodecArray[i].codecID);
RdpbcgrEncoder.EncodeStructure(encodeBuffer,
supportedBitmapCodecs.bitmapCodecArray[i].codecPropertiesLength);
if (supportedBitmapCodecs.bitmapCodecArray[i].codecProperties != null)
{
RdpbcgrEncoder.EncodeBytes(encodeBuffer, supportedBitmapCodecs.bitmapCodecArray[i].codecProperties);
}
}
return encodeBuffer.ToArray();
}