/// <summary> /// Decode Deactivate All PDU /// </summary> /// <param name="data">data to be parsed</param> /// <param name="decryptedUserData">decrypted user data to be parsed</param> /// <param name="type">security header type</param> /// <returns>decoded Deactivate All PDU</returns> public StackPacket DecodeDeactivateAllPDU( byte[] data, byte[] decryptedUserData, SecurityHeaderType type) { Server_Deactivate_All_Pdu pdu = new Server_Deactivate_All_Pdu(); // data index int dataIndex = 0; // DeactivateAllPDU: commonHeader pdu.commonHeader = ParseMcsCommonHeader(data, ref dataIndex, type); // user data index int userDataIndex = 0; // DeactivateAllPDU: deactivateAllPduData pdu.deactivateAllPduData = ParseTsDeactivateAllPdu(decryptedUserData, ref userDataIndex); // Check if data length exceeded expectation VerifyDataLength(decryptedUserData.Length, userDataIndex, ConstValue.ERROR_MESSAGE_DATA_LENGTH_EXCEEDED); return pdu; }
public override StackPacket Clone() { Server_Deactivate_All_Pdu cloneDeactiveAllPdu = new Server_Deactivate_All_Pdu(); cloneDeactiveAllPdu.commonHeader = commonHeader.Clone(); cloneDeactiveAllPdu.deactivateAllPduData = deactivateAllPduData; cloneDeactiveAllPdu.deactivateAllPduData.sourceDescriptor = RdpbcgrUtility.CloneByteArray( deactivateAllPduData.sourceDescriptor); return cloneDeactiveAllPdu; }