public override StackPacket Clone()
{
Client_Info_Pdu cloneClientInfoPdu = new Client_Info_Pdu(context);
cloneClientInfoPdu.commonHeader = commonHeader.Clone();
if (infoPacket != null)
{
cloneClientInfoPdu.infoPacket = new TS_INFO_PACKET();
cloneClientInfoPdu.infoPacket.AlternateShell = infoPacket.AlternateShell;
cloneClientInfoPdu.infoPacket.cbAlternateShell = infoPacket.cbAlternateShell;
cloneClientInfoPdu.infoPacket.cbDomain = infoPacket.cbDomain;
cloneClientInfoPdu.infoPacket.cbPassword = infoPacket.cbPassword;
cloneClientInfoPdu.infoPacket.cbUserName = infoPacket.cbUserName;
cloneClientInfoPdu.infoPacket.cbWorkingDir = infoPacket.cbWorkingDir;
cloneClientInfoPdu.infoPacket.CodePage = infoPacket.CodePage;
cloneClientInfoPdu.infoPacket.Domain = infoPacket.Domain;
cloneClientInfoPdu.infoPacket.Password = infoPacket.Password;
cloneClientInfoPdu.infoPacket.UserName = infoPacket.UserName;
cloneClientInfoPdu.infoPacket.WorkingDir = infoPacket.WorkingDir;
cloneClientInfoPdu.infoPacket.flags = infoPacket.flags;
if (infoPacket.extraInfo != null)
{
cloneClientInfoPdu.infoPacket.extraInfo = new TS_EXTENDED_INFO_PACKET();
if (infoPacket.extraInfo.autoReconnectCookie != null)
{
cloneClientInfoPdu.infoPacket.extraInfo.autoReconnectCookie = new ARC_CS_PRIVATE_PACKET();
cloneClientInfoPdu.infoPacket.extraInfo.autoReconnectCookie.cbLen =
infoPacket.extraInfo.autoReconnectCookie.cbLen;
cloneClientInfoPdu.infoPacket.extraInfo.autoReconnectCookie.LogonId =
infoPacket.extraInfo.autoReconnectCookie.LogonId;
cloneClientInfoPdu.infoPacket.extraInfo.autoReconnectCookie.SecurityVerifier =
RdpbcgrUtility.CloneByteArray(infoPacket.extraInfo.autoReconnectCookie.SecurityVerifier);
cloneClientInfoPdu.infoPacket.extraInfo.autoReconnectCookie.Version =
infoPacket.extraInfo.autoReconnectCookie.Version;
}
cloneClientInfoPdu.infoPacket.extraInfo.cbAutoReconnectLen =
infoPacket.extraInfo.cbAutoReconnectLen;
cloneClientInfoPdu.infoPacket.extraInfo.cbClientAddress = infoPacket.extraInfo.cbClientAddress;
cloneClientInfoPdu.infoPacket.extraInfo.cbClientDir = infoPacket.extraInfo.cbClientDir;
cloneClientInfoPdu.infoPacket.extraInfo.clientAddress = infoPacket.extraInfo.clientAddress;
cloneClientInfoPdu.infoPacket.extraInfo.clientAddressFamily =
infoPacket.extraInfo.clientAddressFamily;
cloneClientInfoPdu.infoPacket.extraInfo.clientDir = infoPacket.extraInfo.clientDir;
cloneClientInfoPdu.infoPacket.extraInfo.clientSessionId = infoPacket.extraInfo.clientSessionId;
cloneClientInfoPdu.infoPacket.extraInfo.clientTimeZone = infoPacket.extraInfo.clientTimeZone;
cloneClientInfoPdu.infoPacket.extraInfo.performanceFlags = infoPacket.extraInfo.performanceFlags;
cloneClientInfoPdu.infoPacket.extraInfo.reserved1 = infoPacket.extraInfo.reserved1;
cloneClientInfoPdu.infoPacket.extraInfo.reserved2 = infoPacket.extraInfo.reserved2;
cloneClientInfoPdu.infoPacket.extraInfo.cbDynamicDSTTimeZoneKeyName = infoPacket.extraInfo.cbDynamicDSTTimeZoneKeyName;
if (infoPacket.extraInfo.cbDynamicDSTTimeZoneKeyName != null && infoPacket.extraInfo.cbDynamicDSTTimeZoneKeyName.actualData > 0)
{
cloneClientInfoPdu.infoPacket.extraInfo.dynamicDSTTimeZoneKeyName = (string)infoPacket.extraInfo.dynamicDSTTimeZoneKeyName.Clone();
}
cloneClientInfoPdu.infoPacket.extraInfo.dynamicDaylightTimeDisabled = infoPacket.extraInfo.dynamicDaylightTimeDisabled;
}
}
return cloneClientInfoPdu;
}