2.2.2.7.2 Server Move/Size Start PDU (TS_RAIL_ORDER_LOCALMOVESIZE)

The Server Move/Size Start PDU packet is sent by the server when a window on the server is beginning a move or resize. The client uses this information to initiate a local move or resize of the corresponding local window.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Hdr

WindowId

IsMoveSizeStart

MoveSizeType

PosX

PosY

Hdr (4 bytes): A TS_RAIL_PDU_HEADER header. The orderType field of the header MUST be set to TS_RAIL_ORDER_LOCALMOVESIZE (0x0009).

WindowId (4 bytes): An unsigned 32-bit integer. The ID of the window on the server that is being moved or resized.

IsMoveSizeStart (2 bytes): An unsigned 16-bit integer. Indicates that the move/size is beginning; MUST be set to a nonzero value.

MoveSizeType (2 bytes): An unsigned 16-bit integer. Indicates the type of the move/size. This value determines the meaning of the fields PosX and PosY.

Value

Meaning

RAIL_WMSZ_LEFT

0x0001

The left edge of the window is being sized.

RAIL_WMSZ_RIGHT

0x0002

The right edge of the window is being sized.

RAIL_WMSZ_TOP

0x0003

The top edge of the window is being sized.

RAIL_WMSZ_TOPLEFT

0x0004

The top-left corner of the window is being sized.

RAIL_WMSZ_TOPRIGHT

0x0005

The top-right corner of the window is being sized.

RAIL_WMSZ_BOTTOM

0x0006

The bottom edge of the window is being sized.

RAIL_WMSZ_BOTTOMLEFT

0x0007

The bottom-left corner of the window is being sized.

RAIL_WMSZ_BOTTOMRIGHT

0x0008

The bottom-right corner of the window is being sized.

RAIL_WMSZ_MOVE

0x0009

The window is being moved by using the mouse.

RAIL_WMSZ_KEYMOVE

0x000A

The window is being moved by using the keyboard.

RAIL_WMSZ_KEYSIZE

0x000B

The window is being resized by using the keyboard.

PosX (2 bytes): A signed 16-bit integer. The meaning of this field depends upon the value of the MoveSizeType field.

Value

Meaning

RAIL_WMSZ_LEFT

0x0001

The x-coordinate of the last mouse button-down.

RAIL_WMSZ_RIGHT

0x0002

The x-coordinate of the last mouse button-down.

RAIL_WMSZ_TOP

0x0003

The x-coordinate of the last mouse button-down.

RAIL_WMSZ_TOPLEFT

0x0004

The x-coordinate of the last mouse button-down.

RAIL_WMSZ_TOPRIGHT

0x0005

The x-coordinate of the last mouse button-down.

RAIL_WMSZ_BOTTOM

0x0006

The x-coordinate of the last mouse button-down.

RAIL_WMSZ_BOTTOMLEFT

0x0007

The x-coordinate of the last mouse button-down.

RAIL_WMSZ_BOTTOMRIGHT

0x0008

The x-coordinate of the last mouse button-down.

RAIL_WMSZ_MOVE

0x0009

The horizontal offset between the window's top-left edge and the current mouse position.

RAIL_WMSZ_KEYMOVE

0x000A

The x-coordinate of the last mouse button-down.

RAIL_WMSZ_KEYSIZE

0x000B

The x-coordinate of the last mouse button-down.

PosY (2 bytes): A signed 16-bit integer. The meaning of this field depends on the value of the MoveSizeType field.

Value

Meaning

RAIL_WMSZ_LEFT

0x0001

The y-coordinate of the last mouse button-down.

RAIL_WMSZ_RIGHT

0x0002

The y-coordinate of the last mouse button-down.

RAIL_WMSZ_TOP

0x0003

The y-coordinate of the last mouse button-down.

RAIL_WMSZ_TOPLEFT

0x0004

The y-coordinate of the last mouse button-down.

RAIL_WMSZ_TOPRIGHT

0x0005

The y-coordinate of the last mouse button-down.

RAIL_WMSZ_BOTTOM

0x0006

The y-coordinate of the last mouse button-down.

RAIL_WMSZ_BOTTOMLEFT

0x0007

The y-coordinate of the last mouse button-down.

RAIL_WMSZ_BOTTOMRIGHT

0x0008

The y-coordinate of the last mouse button-down.

RAIL_WMSZ_MOVE

0x0009

The vertical offset between the window's top-left edge and the current mouse position.

RAIL_WMSZ_KEYMOVE

0x000A

The y-coordinate of the last mouse button-down.

RAIL_WMSZ_KEYSIZE

0x000B

The y-coordinate of the last mouse button-down.