2.2.9.1.1.4 Server Pointer Update PDU (TS_POINTER_PDU)
The Pointer Update PDU is sent from server to client and is used to convey pointer information, including pointers' bitmap images, use of system or hidden pointers, use of cached cursors and position updates.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
tpktHeader |
|||||||||||||||||||||||||||||||
x224Data |
mcsSDin (variable) |
||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
securityHeader (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
shareDataHeader (18 bytes) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
... |
messageType |
||||||||||||||||||||||||||||||
pad2Octets |
pointerAttributeData (variable) |
||||||||||||||||||||||||||||||
... |
tpktHeader (4 bytes): A TPKT Header, as specified in [T123] section 8.
x224Data (3 bytes): An X.224 Class 0 Data TPDU, as specified in [X224] section 13.7.
mcsSDin (variable): Variable-length PER-encoded MCS Domain PDU (DomainMCSPDU) which encapsulates an MCS Send Data Indication structure (SDin, choice 26 from DomainMCSPDU), as specified in [T125] section 11.33 (the ASN.1 structure definitions are given in [T125] section 7, parts 7 and 10). The userData field of the MCS Send Data Indication contains a Security Header and the Pointer Update PDU data.
securityHeader (variable): Optional security header. The presence and format of the security header depends on the Encryption Level and Encryption Method selected by the server (sections 5.3.2 and 2.2.1.4.3). If the Encryption Level selected by the server is greater than ENCRYPTION_LEVEL_NONE (0) and the Encryption Method selected by the server is greater than ENCRYPTION_METHOD_NONE (0), then this field MUST contain one of the following headers:
Basic Security Header (section 2.2.8.1.1.2.1) if the Encryption Level selected by the server is ENCRYPTION_LEVEL_LOW (1).
Non-FIPS Security Header (section 2.2.8.1.1.2.2) if the Encryption Method selected by the server is ENCRYPTION_METHOD_40BIT (0x00000001), ENCRYPTION_METHOD_56BIT (0x00000008), or ENCRYPTION_METHOD_128BIT (0x00000002).
FIPS Security Header (section 2.2.8.1.1.2.3) if the Encryption Method selected by the server is ENCRYPTION_METHOD_FIPS (0x00000010).
-
If the Encryption Level selected by the server is ENCRYPTION_LEVEL_NONE (0) and the Encryption Method selected by the server is ENCRYPTION_METHOD_NONE (0), then this header MUST NOT be included in the PDU.
shareDataHeader (18 bytes): Share Data Header (section 2.2.8.1.1.1.2) containing information about the packet. The type subfield of the pduType field of the Share Control Header (section 2.2.8.1.1.1.1) MUST be set to PDUTYPE_DATAPDU (7). The pduType2 field of the Share Data Header MUST be set to PDUTYPE2_POINTER (27).
messageType (2 bytes): A 16-bit, unsigned integer. Type of pointer update.
-
Value
Meaning
TS_PTRMSGTYPE_SYSTEM
0x0001
Indicates a System Pointer Update (section 2.2.9.1.1.4.3).
TS_PTRMSGTYPE_POSITION
0x0003
Indicates a Pointer Position Update (section 2.2.9.1.1.4.2).
TS_PTRMSGTYPE_COLOR
0x0006
Indicates a Color Pointer Update (section 2.2.9.1.1.4.4).
TS_PTRMSGTYPE_CACHED
0x0007
Indicates a Cached Pointer Update (section 2.2.9.1.1.4.6).
TS_PTRMSGTYPE_POINTER
0x0008
Indicates a New Pointer Update (section 2.2.9.1.1.4.5).
-
T.128 Monochrome Pointer updates ([T128] section 8.14.2) are not used in RDP and are not planned for a future version. Monochrome pointers are translated into 24 bpp cursors using the Color Pointer Update (section 2.2.9.1.1.4.4) when the New Pointer Update (section 2.2.9.1.1.4.5) is not supported, or sent as 1 bpp using the New Pointer Update.
pad2Octets (2 bytes): A 16-bit, unsigned integer. Padding. Values in this field MUST be ignored.
pointerAttributeData (variable): A Pointer Position Update (section 2.2.9.1.1.4.2), System Pointer Update (section 2.2.9.1.1.4.3), Color Pointer Update (section 2.2.9.1.1.4.4), New Pointer Update (section 2.2.9.1.1.4.5), or Cached Pointer Update (section 2.2.9.1.1.4.6). The actual contents of the slow-path pointer update.