The server confirms the client ID sent by the client in the Client Announce Reply message.
file:///D:/programs/RFSPAC/XML-RDPEFS/_rfc_ms-rdpefs2_2_2_6.xml
 /// <summary>
 /// Create Server Client ID Confirm packet.
 /// </summary>
 /// <param name="clientId">Client Id.</param>
 /// <returns>Server Client ID Confirm packet.</returns>
 public static DR_CORE_SERVER_CLIENTID_CONFIRM CreateServerClientIDConfirm(uint clientId)
 {
     DR_CORE_SERVER_CLIENTID_CONFIRM request = new DR_CORE_SERVER_CLIENTID_CONFIRM();
     request.Header = new RDPDR_HEADER();
     request.Header.Component = Component_Values.RDPDR_CTYP_CORE;
     request.Header.PacketId = PacketId_Values.PAKID_CORE_CLIENTID_CONFIRM;
     request.VersionMajor = DR_CORE_SERVER_CLIENTID_CONFIRM_VersionMajor_Values.V1;
     request.VersionMinor = DR_CORE_SERVER_CLIENTID_CONFIRM_VersionMinor_Values.V1;
     request.ClientId = clientId;
     return request;
 }
 /// <summary>
 /// Encode Server Client ID Confirm packet.
 /// </summary>
 /// <param name="packet">Server Client ID Confirm packet.</param>
 /// <returns>Encoded byte array.</returns>
 public static byte[] EncodeServerClientIDConfirm(DR_CORE_SERVER_CLIENTID_CONFIRM packet)
 {
     List<byte> buffer = new List<byte>();
     EncodeStructure(buffer, (ushort)(packet.Header.Component));
     EncodeStructure(buffer, (ushort)(packet.Header.PacketId));
     EncodeStructure(buffer, (ushort)(packet.VersionMajor));
     EncodeStructure(buffer, (ushort)(packet.VersionMinor));
     EncodeStructure(buffer, (uint)(packet.ClientId));
     return buffer.ToArray();
 }