Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpbcgr.RdpbcgrServerDecoder.DecodeClientInitiateMultitransportResponsePDU C# (CSharp) Method

DecodeClientInitiateMultitransportResponsePDU() public method

Decode a Client Initiate Multitransport Response PDU
public DecodeClientInitiateMultitransportResponsePDU ( byte data, byte decryptedUserData, SecurityHeaderType type ) : Microsoft.Protocols.TestTools.StackSdk.StackPacket
data byte
decryptedUserData byte
type SecurityHeaderType
return Microsoft.Protocols.TestTools.StackSdk.StackPacket
        public StackPacket DecodeClientInitiateMultitransportResponsePDU(byte[] data,
            byte[] decryptedUserData,
            SecurityHeaderType type)
        {
            Client_Initiate_Multitransport_Response_PDU pdu = new Client_Initiate_Multitransport_Response_PDU();

            int dataIndex = 0;

            pdu.commonHeader = ParseMcsCommonHeader(data, ref dataIndex, type);

            int userDataIndex = 0;
            pdu.requestId = ParseUInt32(decryptedUserData, ref userDataIndex, false);
            pdu.hrResponse = (HrResponse_Value)ParseUInt32(decryptedUserData, ref userDataIndex, false);

            // ETW Provider Dump Message
            if (pdu.commonHeader.securityHeader != null)
            {
                // RDP Standard Security
                string messageName = "RDPBCGR:" + pdu.GetType().Name;
                ExtendedLogger.DumpMessage(messageName, RdpbcgrUtility.DumpLevel_Layer3, pdu.GetType().Name, decryptedUserData);
            }

            // Check if data length exceeded expectation
            VerifyDataLength(decryptedUserData.Length, userDataIndex, ConstValue.ERROR_MESSAGE_DATA_LENGTH_EXCEEDED);

            return pdu;
        }
RdpbcgrServerDecoder