2.2.7.1.2 Bitmap Capability Set (TS_BITMAP_CAPABILITYSET)
The TS_BITMAP_CAPABILITYSET structure is used to advertise bitmap-orientated characteristics and is based on the capability set specified in [T128] section 8.2.4. This capability is sent by both client and server.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
capabilitySetType |
lengthCapability |
||||||||||||||||||||||||||||||
preferredBitsPerPixel |
receive1BitPerPixel |
||||||||||||||||||||||||||||||
receive4BitsPerPixel |
receive8BitsPerPixel |
||||||||||||||||||||||||||||||
desktopWidth |
desktopHeight |
||||||||||||||||||||||||||||||
pad2octets |
desktopResizeFlag |
||||||||||||||||||||||||||||||
bitmapCompressionFlag |
highColorFlags |
drawingFlags |
|||||||||||||||||||||||||||||
multipleRectangleSupport |
pad2octetsB |
capabilitySetType (2 bytes): A 16-bit, unsigned integer. The type of the capability set. This field MUST be set to CAPSTYPE_BITMAP (2).
lengthCapability (2 bytes): A 16-bit, unsigned integer. The length in bytes of the capability data, including the size of the capabilitySetType and lengthCapability fields.
preferredBitsPerPixel (2 bytes): A 16-bit, unsigned integer. The server MUST set this field to the color depth of the session, while the client SHOULD set this field to the color depth requested in the Client Core Data (section 2.2.1.3.2).
receive1BitPerPixel (2 bytes): A 16-bit, unsigned integer. Indicates whether the client can receive 1 bpp. This field is ignored and SHOULD be set to TRUE (0x0001).
receive4BitsPerPixel (2 bytes): A 16-bit, unsigned integer. Indicates whether the client can receive 4 bpp. This field is ignored and SHOULD be set to TRUE (0x0001).
receive8BitsPerPixel (2 bytes): A 16-bit, unsigned integer. Indicates whether the client can receive 8 bpp. This field is ignored and SHOULD be set to TRUE (0x0001).
desktopWidth (2 bytes): A 16-bit, unsigned integer. The width of the desktop in the session.
desktopHeight (2 bytes): A 16-bit, unsigned integer. The height of the desktop in the session.
pad2octets (2 bytes): A 16-bit, unsigned integer. Padding. Values in this field MUST be ignored.
desktopResizeFlag (2 bytes): A 16-bit, unsigned integer. Indicates whether resizing the desktop by using a Deactivation-Reactivation Sequence is supported (see section 1.3.1.3 for an overview of the Deactivation-Reactivation Sequence).
-
Value
Meaning
FALSE
0x0000
Desktop resizing is not supported.
TRUE
0x0001
Desktop resizing is supported.
bitmapCompressionFlag (2 bytes): A 16-bit, unsigned integer. Indicates whether bitmap compression is supported. This field MUST be set to TRUE (0x0001) because support for compressed bitmaps is required for a connection to proceed.
highColorFlags (1 byte): An 8-bit, unsigned integer. Client support for 16 bpp color modes. This field is ignored and SHOULD be set to zero.
drawingFlags (1 byte): An 8-bit, unsigned integer. Flags describing support for 32 bpp bitmaps.
-
Flag
Meaning
DRAW_ALLOW_DYNAMIC_COLOR_FIDELITY
0x02
Indicates support for lossy compression of 32 bpp bitmaps by reducing color-fidelity on a per-pixel basis ([MS-RDPEGDI] section 3.1.9.1.4).
DRAW_ALLOW_COLOR_SUBSAMPLING
0x04
Indicates support for chroma subsampling when compressing 32 bpp bitmaps ([MS-RDPEGDI] section 3.1.9.1.3).
DRAW_ALLOW_SKIP_ALPHA
0x08
Indicates that the client supports the removal of the alpha-channel when compressing 32 bpp bitmaps. In this case the alpha is assumed to be 0xFF, meaning the bitmap is opaque.
DRAW_UNUSED_FLAG
0x10
An unused flag that MUST be ignored by the client if it is present in the server-to-client Bitmap Capability Set.
-
Compression of 32 bpp bitmaps is specified in [MS-RDPEGDI] section 3.1.9.
multipleRectangleSupport (2 bytes): A 16-bit, unsigned integer. Indicates whether the use of multiple bitmap rectangles is supported in the Bitmap Update (section 2.2.9.1.1.3.1.2). This field MUST be set to TRUE (0x0001) because multiple rectangle support is required for a connection to proceed.
pad2octetsB (2 bytes): A 16-bit, unsigned integer. Padding. Values in this field MUST be ignored.