internal static void channel_process(int channelID, RdpPacket data) { data.ReadLittleEndian32(); var num = (CHANNEL_FLAG)data.ReadLittleEndian32(); if (num.HasFlag(CHANNEL_FLAG.CHANNEL_FLAG_FIRST)) { m_FullPacket = new RdpPacket(); } m_FullPacket.Append(data); if (num.HasFlag(CHANNEL_FLAG.CHANNEL_FLAG_LAST)) { m_FullPacket.Position = 0L; foreach (IVirtualChannel channel in m_Channels) { if (channel.ChannelID == channelID) { channel.channel_process(m_FullPacket); } } } }