2.2.2.1 Logical Surface Lifetime Management Orders (TS_COMPDESK_LSURFACE)
The server sends the TS_COMPDESK_LSURFACE packet to the client to indicate the creation or destruction of a logical surface.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
header |
operation |
size |
|||||||||||||||||||||||||||||
fCreate |
flags |
hLsurface |
|||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
... |
width |
||||||||||||||||||||||||||||||
... |
height |
||||||||||||||||||||||||||||||
... |
hwnd |
||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
... |
luid |
||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
... |
header (1 byte): An 8-bit unsigned integer. An alternate secondary order header as specified in [MS-RDPEGDI] section 2.2.2.2.1.3.1.1. The embedded order type field MUST be set to TS_ALTSEC_COMPDESK_FIRST (0x0C).
operation (1 byte): An 8-bit unsigned integer. The operation code. This field MUST be set to LSURFACE_CREATE_DESTROY (0x02).
size (2 bytes): A 16-bit unsigned integer. The size of the order data that follows the size field. This field MUST be set to 0x22.
fCreate (1 byte): An 8-bit unsigned integer. This field is used to indicate a logical surface "create" event when set to 1 and a "destroy" event when set to 0.
-
Name
Value
create
0x01
destroy
0x00
flags (1 byte): An 8-bit unsigned integer. A collection of flags with the following meaning if fCreate is set to 1. If fCreate is set to 0, these fields MUST be ignored:
-
Value
Meaning
TS_COMPDESK_HLSURF_COMPOSEONCE
0x00000001
This logical surface is a compose-once surface.
TS_COMPDESK_HLSURF_REDIRECTION
0x00000004
This logical surface is a redirection surface.
hLsurface (8 bytes): A 64-bit unsigned integer. A surface manager–generated identifier for a logical surface.
width (4 bytes): A 32-bit unsigned integer. The width (or x-axis size) of the logical surface, in pixels. This field is not used, and MUST be set to 0 on the server and ignored on the client.
height (4 bytes): A 32-bit unsigned integer. The height (or y-axis size) of the logical surface, in pixels. This field is not used, and MUST be set to 0 on the server and ignored on the client.
hwnd (8 bytes): A 64-bit unsigned integer. The window handle associated with this logical surface on the server.
luid (8 bytes): A 64-bit unsigned integer. This field is not used, and MUST be set to 0 on the server and ignored on the client.