public StackPacket DecodeServerRedirectionPDU(
byte[] data,
byte[] decryptedUserData,
SecurityHeaderType type)
{
Server_Redirection_Pdu pdu = new Server_Redirection_Pdu();
// data index
int dataIndex = 0;
UpdateSecurityHeaderType(ref type);
// Server_Redirection_Pdu: commonHeader
pdu.commonHeader = ParseMcsCommonHeader(data, ref dataIndex, type);
// user data index
int userDataIndex = 0;
// Server_Redirection_PDU: serverRedirectionPdu
pdu.serverRedirectionPdu = ParseRdpServerRedirectionPacket(decryptedUserData, ref userDataIndex);
// Check if data length exceeded expectation
VerifyDataLength(decryptedUserData.Length, userDataIndex, ConstValue.ERROR_MESSAGE_DATA_LENGTH_EXCEEDED);
return pdu;
}