3.2.5.8.1.2 Sending Fast-Path Input Event PDU

The Fast-Path Input Event PDU (section 2.2.8.1.2) has the following basic structure (sections 5.3.8 and 5.4.4):

  • fpInputHeader: Fast-Path Input Header (section 2.2.8.1.2)

  • length1 and length2: Packet length (section 2.2.8.1.2)

  • fipsInformation: Optional Fast-Path FIPS Information (section 2.2.8.1.2)

  • dataSignature: Optional data signature (section 2.2.8.1.2)

  • numEvents: Optional number of events (section 2.2.8.1.2)

  • PDU contents (collection of fast-path input events):

The fpInputHeader, length1, length2, and numEvents fields MUST be initialized as described in 2.2.8.1.2. Because the PDU is in fast-path format, the embedded action field of the fpInputHeader field MUST be set to FASTPATH_INPUT_ACTION_FASTPATH (0).

If Enhanced RDP Security (section 5.4) is in effect, the External Security Protocol (section 5.4.5) MUST be used to encrypt the entire PDU and generate a verification digest before the PDU is transmitted over the wire. Also, in this scenario the fipsInformation and dataSignature fields MUST NOT be present.

If Standard RDP Security mechanisms (section 5.3) are in effect, the PDU data following the optional dataSignature field can be encrypted and signed (depending on the values of the Encryption Level (section 5.3.1) and Encryption Method selected by the server as part of the negotiation described in section 5.3.2), using the methods and techniques described in section 5.3.6. If the data is to be encrypted, the embedded flags field of the fpInputHeader field MUST contain the FASTPATH_INPUT_ENCRYPTED (2) flag.

The actual PDU contents, which encapsulates a collection of input events, is populated with fast-path event data as described from 2.2.8.1.2.2.1 to 2.2.8.1.2.2.5.