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

ParseSlowPathInputEvent() private method

Parse TS_INPUT_EVENT (parser index is updated according to parsed length)
private ParseSlowPathInputEvent ( byte data, int &currentIndex ) : TS_INPUT_EVENT
data byte data to be parsed
currentIndex int current parser index
return TS_INPUT_EVENT
        private TS_INPUT_EVENT ParseSlowPathInputEvent(byte[] data, ref int currentIndex)
        {
            TS_INPUT_EVENT inputEvent = new TS_INPUT_EVENT();
            inputEvent.eventTime = ParseUInt32(data, ref currentIndex, false);
            inputEvent.messageType = (TS_INPUT_EVENT_messageType_Values)ParseUInt16(data, ref currentIndex, false);
            switch (inputEvent.messageType)
            {
                case TS_INPUT_EVENT_messageType_Values.INPUT_EVENT_SYNC:
                    inputEvent.slowPathInputData = ParseSyncEvent(data, ref currentIndex);
                    break;
                case TS_INPUT_EVENT_messageType_Values.INPUT_EVENT_SCANCODE:
                    inputEvent.slowPathInputData = ParseKeyboardEvent(data, ref currentIndex);
                    break;
                case TS_INPUT_EVENT_messageType_Values.INPUT_EVENT_UNICODE:
                    inputEvent.slowPathInputData = ParseUniKeyboardEvent(data, ref currentIndex);
                    break;
                case TS_INPUT_EVENT_messageType_Values.INPUT_EVENT_MOUSE:
                    inputEvent.slowPathInputData = ParseMouseEvent(data, ref currentIndex);
                    break;
                case TS_INPUT_EVENT_messageType_Values.INPUT_EVENT_MOUSEX:
                    inputEvent.slowPathInputData = ParseExtMouseEvent(data, ref currentIndex);
                    break;
                case TS_INPUT_EVENT_messageType_Values.INPUT_EVENT_UNUSED:
                    inputEvent.slowPathInputData = ParseUnusedEvent(data, ref currentIndex);
                    break;
                default:
                    throw new FormatException(ConstValue.ERROR_MESSAGE_ENUM_UNRECOGNIZED);
            }

            return inputEvent;
        }
RdpbcgrServerDecoder