/// <summary> /// Create a TS_RAIL_CAPABILITYSET type Capability, 2.2.1.1.2 in RDPERP /// Problem: field not implemented in SDK /// </summary> /// <param name="programSupport">Set to 1 if the client/server is capable of supporting Remote Programs; /// set to 0 otherwise.</param> /// <param name="dlbSupport">Set to 1 if the client/server is capable of supporting Docked Language Bar for /// Remote Programs; set to 0 otherwise. This flag MUST be set to 0 if TS_RAIL_LEVEL_SUPPORTED is 0.</param> /// <returns>TS_RAIL_CAPABILITYSET type Capability</returns> public TS_RAIL_CAPABILITYSET CreateTSRailCapSet(bool programSupport, bool dlbSupport) { TS_RAIL_CAPABILITYSET railSet = new TS_RAIL_CAPABILITYSET(); railSet.rawData = new byte[] { 23, 0, 8, 0, 3, 0, 0, 0 };//<err> //railSet.rawData = new byte[] { 23, 0, 8, 0, 0, 0, 0, 0 }; //CapabilitySetType (2 bytes) //LengthCapability (2 bytes) //RailSupportLevel (4 bytes) if (programSupport)//<err> railSet.rawData[4] |= 0x80;//TS_RAIL_LEVEL_SUPPORTED if (dlbSupport) railSet.rawData[4] |= 0x40;//TS_RAIL_LEVEL_DOCKED_LANGBAR_SUPPORTED return railSet; }
/// <summary> /// Parse TS_RAIL_CAPABILITYSET /// </summary> /// <param name="data">data to be parsed</param> /// <returns>TS_RAIL_CAPABILITYSET</returns> private TS_RAIL_CAPABILITYSET ParseCapsTypeRail(byte[] data) { TS_RAIL_CAPABILITYSET set = new TS_RAIL_CAPABILITYSET(); // TS_RAIL_CAPABILITYSET: rawData set.rawData = data; return set; }