2.2.2.4.1 Client System Parameters Update PDU (TS_RAIL_ORDER_SYSPARAM)

The Client System Parameters Update PDU is sent from the client to the server to synchronize system parameters on the server with those on the client.


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

header

SystemParam

Body (variable)

...

header (4 bytes): A TS_RAIL_PDU_HEADER structure. The orderType field of header MUST be set to TS_RAIL_ORDER_SYSPARAM(0x0003).

SystemParam (4 bytes): An unsigned 32-bit integer. The type of system parameter being transmitted. The field MUST be set to one of the following values.

Value

Meaning

SPI_SETDRAGFULLWINDOWS

0x00000025

The system parameter for full-window drag.

SPI_SETKEYBOARDCUES

0x0000100B

The system parameter to determine whether menu access keys are always underlined.

SPI_SETKEYBOARDPREF

0x00000045

The system parameter specifying a preference for the keyboard instead of the mouse.

SPI_SETWORKAREA

0x0000002F

The system parameter to set the size of the work area. The work area is the portion of the screen not obscured by the system taskbar or by application desktop toolbars.

RAIL_SPI_DISPLAYCHANGE

0x0000F001

The system parameter for display resolution.

SPI_SETMOUSEBUTTONSWAP

0x00000021

The system parameter to swap or restore the meaning of the left and right mouse buttons.

RAIL_SPI_TASKBARPOS

0x0000F000

The system parameter to indicate the size of the client taskbar.

SPI_SETHIGHCONTRAST
0x00000043

The system parameter to set the parameters of the HighContrast accessibility feature.

SPI_SETCARETWIDTH

0x00002007

The system parameter to set the caret width used for text entry controls. This flag SHOULD NOT be sent if the server did not advertise the EXTENDED_SPI_SUPPORTED flag in the HandshakeEx PDU (section 2.2.2.2.3).

SPI_SETSTICKYKEYS

0x0000003B

The system parameter to set the parameters of the Sticky Keys accessibility feature. This flag SHOULD NOT be sent if the server did not advertise the EXTENDED_SPI_SUPPORTED flag in the HandshakeEx PDU.

SPI_SETTOGGLEKEYS

0x00000035

The system parameter to set the parameters of the Toggle Keys accessibility feature. This flag SHOULD NOT be sent if the server did not advertise the EXTENDED_SPI_SUPPORTED flag in the HandshakeEx PDU.

SPI_SETFILTERKEYS

0x00000033

The system parameter to set the parameters of the Filter Keys accessibility feature. This flag SHOULD NOT be sent if the server did not advertise the EXTENDED_SPI_SUPPORTED flag in the HandshakeEx PDU.

RAIL_SPI_DISPLAY_ANIMATIONS_ENABLED

0x0000F002

The system parameter indicating whether animations are enabled for the system user interface. This flag SHOULD NOT be sent if the server did not advertise the EXTENDED_SPI_2_SUPPORTED flag in the HandshakeEx PDU.

RAIL_SPI_DISPLAY_ADVANCED_EFFECTS_ENABLED

0x0000F003

The system parameter indicating whether the system Transparency effects setting is enabled. This flag SHOULD NOT be sent if the server did not advertise the EXTENDED_SPI_2_SUPPORTED flag in the HandshakeEx PDU.

RAIL_SPI_DISPLAY_AUTO_HIDE_SCROLLBARS

0x0000F004

The system parameter indicating whether the user has specified that scrollbars should be automatically hidden when not being interacted with. This flag SHOULD NOT be sent if the server did not advertise the EXTENDED_SPI_2_SUPPORTED flag in the HandshakeEx PDU.

RAIL_SPI_DISPLAY_MESSAGE_DURATION

0x0000F005

The system parameter indicating the length of time a message is displayed for the app view in seconds. This flag SHOULD NOT be sent if the server did not advertise the EXTENDED_SPI_2_SUPPORTED flag in the HandshakeEx PDU.

RAIL_SPI_CLOSED_CAPTION_FONT_COLOR

0x0000F006

The system parameter indicating the font color for closed-caption text. Valid properties are described by the ClosedCaptionColor enumeration. This flag SHOULD NOT be sent if the server did not advertise the EXTENDED_SPI_2_SUPPORTED flag in the HandshakeEx PDU.

RAIL_SPI_CLOSED_CAPTION_FONT_OPACITY

0x0000F007

The system parameter indicating the font opacity for closed-caption text. Valid properties are described by the ClosedCaptionOpacity enumeration. This flag SHOULD NOT be sent if the server did not advertise the EXTENDED_SPI_2_SUPPORTED flag in the HandshakeEx PDU.

RAIL_SPI_CLOSED_CAPTION_FONT_SIZE

0x0000F008

The system parameter indicating the font size for closed-caption text. Valid properties are described by the ClosedCaptionSize enumeration. This flag SHOULD NOT be sent if the server did not advertise the EXTENDED_SPI_2_SUPPORTED flag in the HandshakeEx PDU.

RAIL_SPI_CLOSED_CAPTION_FONT_STYLE

0x0000F009

The system parameter indicating the font style for closed-caption text. Valid properties are described by the ClosedCaptionStyle enumeration. This flag SHOULD NOT be sent if the server did not advertise the EXTENDED_SPI_2_SUPPORTED flag in the HandshakeEx PDU.

RAIL_SPI_CLOSED_CAPTION_FONT_EDGE_EFFECT

0x0000F00A

The system parameter indicating the font effect for close-caption text. Valid properties are described by the ClosedCaptionEdgeEffect enumeration. This flag SHOULD NOT be sent if the server did not advertise the EXTENDED_SPI_2_SUPPORTED flag in the HandshakeEx PDU.

RAIL_SPI_CLOSED_CAPTION_BACKGROUND_COLOR

0x0000F00B

The system parameter indicating the background color of lines of closed-caption text. Valid properties are described by the ClosedCaptionColor enumeration. This flag SHOULD NOT be sent if the server did not advertise the EXTENDED_SPI_2_SUPPORTED flag in the HandshakeEx PDU.

RAIL_SPI_CLOSED_CAPTION_BACKGROUND_OPACITY

0x0000F00C

The system parameter indicating the background opacity of lines of closed-caption text. Valid properties are described by the ClosedCaptionOpacity enumeration. This flag SHOULD NOT be sent if the server did not advertise the EXTENDED_SPI_2_SUPPORTED flag in the HandshakeEx PDU.

RAIL_SPI_CLOSED_CAPTION_REGION_COLOR

0x0000F00D

The system parameter indicating the region color for closed-caption text. Valid properties are described by the ClosedCaptionColor enumeration. This flag SHOULD NOT be sent if the server did not advertise the EXTENDED_SPI_2_SUPPORTED flag in the HandshakeEx PDU.

RAIL_SPI_CLOSED_CAPTION_REGION_OPACITY

0x0000F00E

The system parameter indicating the region opacity for closed-caption text. Valid properties are described by the ClosedCaptionOpacity enumeration. This flag SHOULD NOT be sent if the server did not advertise the EXTENDED_SPI_2_SUPPORTED flag in the HandshakeEx PDU.

RAIL_SPI_ACCENT_COLOR

0x0000F00F

The system parameter that indicates the system accent color for emphasizing important elements in the user interface and indicates the state of an interactive object or control. This flag SHOULD NOT be sent if the server did not advertise the EXTENDED_SPI_3_SUPPORTED flag in the HandshakeEx PDU.

RAIL_SPI_SYSTEM_USES_LIGHT_THEME

0x0000F010

The system parameter that indicates whether the system uses light mode by default. This flag SHOULD NOT be sent if the server did not advertise the EXTENDED_SPI_3_SUPPORTED flag in the HandshakeEx PDU.

RAIL_SPI_APPS_USE_LIGHT_THEME

0x0000F011

The system parameter that indicates whether applications use light mode by default. This flag SHOULD NOT be sent if the server did not advertise the EXTENDED_SPI_3_SUPPORTED flag in the HandshakeEx PDU.

Body (variable): The contents of this field depend on the SystemParam field. The following table outlines the valid values of the SystemParam field (Value column) and corresponding values of the Body field (Meaning column).

Value

Meaning

SPI_SETDRAGFULLWINDOWS

0x0025

Size of Body field: 1 byte.

0 (FALSE): Full Window Drag is disabled. Nonzero (TRUE): Full Window Drag is enabled.

SPI_SETKEYBOARDCUES

0x100B

Size of Body field: 1 byte.

0 (FALSE): Menu Access Keys are underlined only when the menu is activated by the keyboard. Nonzero (TRUE): Menu Access Keys are always underlined.

SPI_SETKEYBOARDPREF

0x0045

Size of Body field: 1 byte.

0 (FALSE): The user does not prefer the keyboard over mouse. Nonzero (TRUE): The user prefers the keyboard over mouse. This causes applications to display keyboard interfaces that would otherwise be hidden.

SPI_SETMOUSEBUTTONSWAP

0x0021

Size of Body field: 1 byte.

0 (FALSE): Restores the meaning of the left and right mouse buttons to their original meanings. Nonzero (TRUE): Swaps the meaning of the left and right mouse buttons.

SPI_SETWORKAREA

0x002F

Size of Body field: 8 bytes.

The body is a TS_RECTANGLE_16 structure that defines the work area in virtual screen coordinates. In a system with multiple display monitors, the work area is that of the monitor that contains the specified rectangle. For more information about virtual screen coordinates, see [MSDN-VIRTUALSCR].

RAIL_SPI_DISPLAYCHANGE

0xF001

Size of Body field: 8 bytes.

The body is a TS_RECTANGLE_16 structure that indicates the new display resolution in virtual screen coordinates. For more information about virtual screen coordinates, see [MSDN-VIRTUALSCR].

RAIL_SPI_TASKBARPOS

0xF000

Size of Body field: 8 bytes.

The body is a TS_RECTANGLE_16 structure that indicates the size of the client taskbar.

SPI_SETHIGHCONTRAST

0x0043

Size of Body field: Variable number of bytes.

The body is a TS_HIGHCONTRAST structure.

SPI_SETCARETWIDTH

0x00002007

Size of Body field: 4 bytes.

The body is an unsigned 32-bit integer that indicates the width of the caret. The minimum allowed value is 0x00000001.

SPI_SETSTICKYKEYS

0x0000003B

Size of Body field: 4 bytes.

The body is a TS_STICKYKEYS structure.

SPI_SETTOGGLEKEYS

0x00000035

Size of Body field: 4 bytes.

The body is a TS_TOGGLEKEYS structure.

SPI_SETFILTERKEYS

0x00000033

Size of Body field: 20 bytes.

The body is a TS_FILTERKEYS structure.

RAIL_SPI_DISPLAY_ANIMATIONS_ENABLED

0x0000F002

Size of Body field: 1 byte.

0 (FALSE): Animations are disabled for the user interface. Nonzero (TRUE): Animations are enabled for the user interface.

RAIL_SPI_DISPLAY_ADVANCED_EFFECTS_ENABLED

0x0000F003

Size of Body field: 1 byte.

0 (FALSE): Transparency UI effects are disabled. Nonzero (TRUE): Transparency UI effects are enabled.

RAIL_SPI_DISPLAY_AUTO_HIDE_SCROLLBARS

0x0000F004

Size of Body field: 1 byte.

0 (FALSE): Scroll bars are not automatically hidden when not being interacted with. Nonzero (TRUE): Scroll bars are automatically hidden when not being interacted with.

RAIL_SPI_DISPLAY_MESSAGE_DURATION

0x0000F005

Size of Body field: 4 bytes.

The body is an unsigned 32-bit integer that indicates the duration of a message is displayed for the app view, in seconds.

RAIL_SPI_CLOSED_CAPTION_FONT_COLOR

0x0000F006

Size of Body field: 1 byte.

The body is a byte that indicates the font color for closed-caption text, as described by the ClosedCaptionColor enumeration.

RAIL_SPI_CLOSED_CAPTION_FONT_OPACITY

0x0000F007

Size of Body field: 1 byte.

The body is a byte that indicates the font opacity for closed-caption text, as described by the ClosedCaptionOpacity enumeration.

RAIL_SPI_CLOSED_CAPTION_FONT_SIZE

0x0000F008

Size of Body field: 1 byte.

The body is a byte that indicates the font size for closed-caption text, as described by the ClosedCaptionSize enumeration.

RAIL_SPI_CLOSED_CAPTION_FONT_STYLE

0x0000F009

Size of Body field: 1 byte.

The body is a byte that indicates the font style for closed-caption text, as described by the ClosedCaptionStyle enumeration.

RAIL_SPI_CLOSED_CAPTION_FONT_EDGE_EFFECT

0x0000F00A

Size of Body field: 1 byte.

The body is a byte that indicates the font effect for closed-caption text, as described by the ClosedCaptionEdgeEffect enumeration.

RAIL_SPI_CLOSED_CAPTION_BACKGROUND_COLOR

0x0000F00B

Size of Body field: 1 byte.

The body is a byte that indicates the background color of lines of closed-caption text, as described by the ClosedCaptionColor enumeration.

RAIL_SPI_CLOSED_CAPTION_BACKGROUND_OPACITY

0x0000F00C

Size of Body field: 1 byte.

The body is a byte that indicates the background opacity of lines of closed-caption text, as described by the ClosedCaptionOpacity enumeration.

RAIL_SPI_CLOSED_CAPTION_REGION_COLOR

0x0000F00D

Size of Body field: 1 byte.

The body is a byte that indicates the region color for closed-caption text, as described by the ClosedCaptionColor enumeration.

RAIL_SPI_CLOSED_CAPTION_REGION_OPACITY

0x0000F00E

Size of Body field: 1 byte.

The body is a byte that indicates the region opacity for closed-caption text, as described by the ClosedCaptionOpacity enumeration.

RAIL_SPI_ACCENT_COLOR

0x0000F00F

Size of Body field: Variable number of bytes.

The body is a TS_ACCENTCOLOR structure.

RAIL_SPI_SYSTEM_USES_LIGHT_THEME

0x0000F010

Size of Body field: 4 bytes.

0 (FALSE): System uses dark mode by default.

1 (TRUE): System uses light mode by default.

RAIL_SPI_APPS_USE_LIGHT_THEME

0x0000F011

Size of Body field: 4 bytes.

0 (FALSE): Applications use dark mode by default.

1 (TRUE): Applications use light mode by default.