Export (0) Print
Expand All

2.2.1.11.1.1 Info Packet (TS_INFO_PACKET)

The TS_INFO_PACKET structure contains extra information not passed to the server during the Basic Settings Exchange phase (see section 1.3.1.1) of the RDP Connection Sequence, primarily to ensure that it gets encrypted (as auto-logon password data and other sensitive information is passed here).


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

CodePage

flags

cbDomain

cbUserName

cbPassword

cbAlternateShell

cbWorkingDir

Domain (variable)

...

UserName (variable)

...

Password (variable)

...

AlternateShell (variable)

...

WorkingDir (variable)

...

extraInfo (variable)

...

CodePage (4 bytes): A 32-bit, unsigned integer. If the flags field does not contain the INFO_UNICODE flag (0x00000010), then this field MUST contain the ANSI code page descriptor being used by the client (for a list of code pages, see [MSDN-CP]) to encode the character fields in the Info Packet and Extended Info Packet (section 2.2.1.11.1.1.1). However, if the flags field contains the INFO_UNICODE flag, then the CodePage field MUST contain the active language identifier in the low-word<10> (for a list of language identifiers, see [MSDN-MUI]); the contents of the high-word MUST be ignored by the server.

flags (4 bytes): A 32-bit unsigned integer. Option flags.

Flag Meaning

INFO_MOUSE
0x00000001

Indicates that the client machine has a mouse attached.

INFO_DISABLECTRLALTDEL
0x00000002

Indicates that the CTRL+ALT+DEL (or the equivalent) secure access keyboard sequence is not required at the logon prompt.

INFO_AUTOLOGON
0x00000008

The client requests auto logon using the included user name, password and domain.

INFO_UNICODE
0x00000010

Indicates that the character set for strings in the Info Packet and Extended Info Packet (section 2.2.1.11.1.1.1) is Unicode. If this flag is absent, then the ANSI character set that is specified by the ANSI code page descriptor in the CodePage field is used for strings in the Info Packet and Extended Info Packet.

INFO_MAXIMIZESHELL
0x00000020

Indicates that the alternate shell (specified in the AlternateShell field of the Info Packet structure) MUST be started in a maximized state.

INFO_LOGONNOTIFY
0x00000040

Indicates that the client wants to be informed of the user name and domain used to log on to the server, as well as the ID of the session to which the user connected. The Save Session Info PDU (section 2.2.10.1) is sent from the server to notify the client of this information using a Logon Info Version 1 (section 2.2.10.1.1.1) or Logon Info Version 2 (section 2.2.10.1.1.2) structure.

INFO_COMPRESSION
0x00000080

Indicates that the CompressionTypeMask is valid and contains the highest compression package type supported by the client.

CompressionTypeMask
0x00001E00

Indicates the highest compression package type supported. See the discussion which follows this table for more information.

INFO_ENABLEWINDOWSKEY
0x00000100

Indicates that the client uses the Windows key on Windows-compatible keyboards.

INFO_REMOTECONSOLEAUDIO
0x00002000

Requests that audio played in a session hosted on a remote server be played on the server using the protocol defined in [MS-RDPEA] sections 2 and 3.

INFO_FORCE_ENCRYPTED_CS_PDU
0x00004000

Indicates that all client-to-server traffic is encrypted when encryption is in force. Setting this flag prevents the server from processing unencrypted packets in man-in-the-middle attack scenarios. This flag is understood only by RDP 5.2, 6.0, 6.1, 7.0, 7.1, 8.0, and 8.1 servers.

INFO_RAIL
0x00008000

Indicates that the remote connection being established is for the purpose of launching remote programs using the protocol defined in [MS-RDPERP] sections 2 and 3. This flag is understood only by RDP 6.0, 6.1, 7.0, 7.1, 8.0, and 8.1 servers.

INFO_LOGONERRORS
0x00010000

Indicates a request for logon error notifications using the Save Session Info PDU. This flag is understood only by RDP 6.0, 6.1, 7.0, 7.1, 8.0, and 8.1 servers.

INFO_MOUSE_HAS_WHEEL
0x00020000

Indicates that the mouse which is connected to the client machine has a scroll wheel. This flag is understood only by RDP 6.0, 6.1, 7.0, 7.1, 8.0, and 8.1 servers.

INFO_PASSWORD_IS_SC_PIN
0x00040000

Indicates that the Password field in the Info Packet contains a smart card personal identification number (PIN). This flag is understood only by RDP 6.0, 6.1, 7.0, 7.1, 8.0, and 8.1 servers.

INFO_NOAUDIOPLAYBACK
0x00080000

Indicates that audio redirection or playback (using the protocol defined in [MS-RDPEA] sections 2 and 3) MUST NOT take place. This flag is understood only by RDP 6.0, 6.1, 7.0, 7.1, 8.0, and 8.1 servers.

INFO_USING_SAVED_CREDS
0x00100000

Any user credentials sent on the wire during the RDP Connection Sequence (see sections 1.3.1.1 and 1.3.1.2) have been retrieved from a credential store and were not obtained directly from the user. This flag is understood only by RDP 6.1, 7.0, 7.1, 8.0, and 8.1 servers.

INFO_AUDIOCAPTURE
0x00200000

Indicates that the redirection of client-side audio input to a session hosted on a remote server is supported using the protocol defined in [MS-RDPEAI] sections 2 and 3. This flag is understood only by RDP 7.0, 7.1, 8.0, and 8.1 servers.

INFO_VIDEO_DISABLE
0x00400000

Indicates that video redirection or playback (using the protocol defined in [MS-RDPEV] sections 2 and 3) MUST NOT take place. This flag is understood only by RDP 7.0, 7.1, 8.0, and 8.1 servers.

INFO_HIDEF_RAIL_SUPPORTED
0x02000000

Indicates that the client supports Enhanced RemoteApp ([MS-RDPERP] section 1.3.3). The INFO_HIDEF_RAIL_SUPPORTED flag MUST be ignored if the INFO_RAIL (0x00008000) flag is not specified. Furthermore, a client that specifies the INFO_HIDEF_RAIL_SUPPORTED flag MUST send the Remote Programs Capability Set ([MS-RDPERP] section 2.2.1.1.1) to the server.The INFO_HIDEF_RAIL_SUPPORTED flag is understood only by RDP 8.1 servers.

The CompressionTypeMask is a 4-bit enumerated value containing the highest compression package support available on the client. The packages codes are:

Value Meaning

PACKET_COMPR_TYPE_8K
0x0

RDP 4.0 bulk compression (see section 3.1.8.4.1).

PACKET_COMPR_TYPE_64K
0x1

RDP 5.0 bulk compression (see section 3.1.8.4.2).

PACKET_COMPR_TYPE_RDP6
0x2

RDP 6.0 bulk compression (see [MS-RDPEGDI] section 3.1.8.1).

PACKET_COMPR_TYPE_RDP61
0x3

RDP 6.1 bulk compression (see [MS-RDPEGDI] section 3.1.8.2).

If a client supports compression package n then it MUST support packages 0...(n - 1).

cbDomain (2 bytes): A 16-bit, unsigned integer. The size in bytes of the character data in the Domain field. This size excludes the length of the mandatory null terminator.

cbUserName (2 bytes): A 16-bit, unsigned integer. The size in bytes of the character data in the UserName field. This size excludes the length of the mandatory null terminator.

cbPassword (2 bytes): A 16-bit, unsigned integer. The size in bytes of the character data in the Password field. This size excludes the length of the mandatory null terminator.

cbAlternateShell (2 bytes): A 16-bit, unsigned integer. The size in bytes of the character data in the AlternateShell field. This size excludes the length of the mandatory null terminator.

cbWorkingDir (2 bytes): A 16-bit, unsigned integer. The size in bytes of the character data in the WorkingDir field. This size excludes the length of the mandatory null terminator.

Domain (variable): Variable-length logon domain of the user (the length in bytes is given by the cbDomain field). The maximum length allowed by RDP 4.0 and RDP 5.0 servers is 52 bytes (including the mandatory null terminator). RDP 5.1, 5.2, 6.0, 6.1, 7.0, 7.1, 8.0, and 8.1 allow a maximum length of 512 bytes (including the mandatory null terminator). The field MUST contain at least a null terminator character in Windows-1252 or Unicode format (depending on the presence of the INFO_UNICODE flag).

UserName (variable): Variable-length logon user name of the user (the length in bytes is given by the cbUserName field). The maximum length allowed by RDP 4.0 servers is 44 bytes (including the mandatory null terminator). RDP 5.0, 5.1, 5.2, 6.0, 6.1, 7.0, 7.1, 8.0, and 8.1 allow a maximum length of 512 bytes (including the mandatory null terminator). The field MUST contain at least a null terminator character in Windows-1252 or Unicode format (depending on the presence of the INFO_UNICODE flag).

Password (variable): Variable-length logon password of the user (the length in bytes is given by the cbPassword field). The maximum length allowed by RDP 4.0 and RDP 5.0 servers is 32 bytes (including the mandatory null terminator). RDP 5.1, 5.2, 6.0, 6.1, 7.0, 7.1, 8.0, and 8.1 allow a maximum length of 512 bytes (including the mandatory null terminator). The field MUST contain at least a null terminator character in Windows-1252 or Unicode format (depending on the presence of the INFO_UNICODE flag).

AlternateShell (variable): Variable-length path to the executable file of an alternate shell, e.g. "c:\dir\prog.exe" (the length in bytes is given by the cbAlternateShell field). The maximum allowed length is 512 bytes (including the mandatory null terminator). This field MUST only be initialized if the client is requesting a shell other than the default. The field MUST contain at least a null terminator character in Windows-1252 or Unicode format (depending on the presence of the INFO_UNICODE flag).

WorkingDir (variable): Variable-length directory that contains the executable file specified in the AlternateShell field or any related files (the length in bytes is given by the cbWorkingDir field). The maximum allowed length is 512 bytes (including the mandatory null terminator). This field MAY be initialized if the client is requesting a shell other than the default. The field MUST contain at least a null terminator character in Windows-1252 or Unicode format (depending on the presence of the INFO_UNICODE flag).

extraInfo (variable): Optional and variable-length extended information used in RDP 5.0, 5.1, 5.2, 6.0, 6.1, 7.0, 7.1, 8.0, and 8.1, and specified in section 2.2.1.11.1.1.1.

 
Show:
© 2014 Microsoft