Processing an RDPINPUT_TOUCH_EVENT_PDU Message

The structure and fields of the RDPINPUT_TOUCH_EVENT_PDU message are specified in section

The header field MUST be processed as specified in section If the message is valid, the server MUST iterate over each RDPINPUT_TOUCH_FRAME (section structure encapsulated in the RDPINPUT_TOUCH_EVENT_PDU message, decode each RDPINPUT_TOUCH_CONTACT (section structure in the frame, and then inject the frame contacts into the user session.

If any of the contacts does not conform to the finite state machine described in section, the touch transaction SHOULD be canceled in the session, and all subsequent frames associated with the transaction SHOULD be ignored until a new touch transaction is initiated at the client.