Introduction

Microsoft Terminal Server Client Registry Usage

MSTSC contains three types of registry parameters.  Of these, General and Session
parameters are the only “product-level” parameters – the Trace parameters are used for
debugging only and available only in the debug build. All these registry parameters are
only modified very carefully with knowledgeable development/support Engineers.

•	General parameters : These parameters are used for all sessions and there is no UI
available to set these parameters. They are found in ..\Software\Microsoft\Terminal
Server Client.

•	Session parameters : These parameters are found in
..\Software\Microsoft\Terminal Server Client\<session>, where <session> is
 specified as the first command line parameter (<session> defaults to “Default” if
there are no command  line parameters). Client Connection Manager uses
<session> parameter to invoke MSTSC for single application remoting.

•	Trace parameters : These are used in a debug build to control trace output, and are found in ..\Software\Microsoft\Terminal Server Client\Trace.

MSTSC looks for registry entries under both HKLM and HKCU.  All registry entries,
 which are written by MSTSC, are written to HKCU.

When registry entries are missing or invalid, MSTSC uses appropriate default values.  In
 a debug build, invalid registry entries MSTSC will cause an assertion failure (missing
registry entries do not).

Win16 notes

•	On Win16, MSTSC stores its config information in MSTSC.INI file in the
Windows directory..

In the .INI file, parameters are located in sections named as for the registry
(e.g. [Default], [Trace]).  General parameters are located in the [ ] section.

General parameters

Session parameters

Trace parameters


Restore button

Restores all settings on the Shadow Bitmap page to the default settings.


Percentage of bitmap cache used for small cache entries.  Default value is 10.


Percentage of bitmap cache used for medium cache entries.  The default value is 20.


Percentage of bitmap cache used for large cache entries.  The default value is 70.


Size in KB of bitmap cache.  The default value is 1500.


Size of cells in glyph cache 1.  Default value is 4.


Size of cells in glyph cache 2.  Default value is 4.


Size of cells in glyph cache 3.  Default value is 8.


Size of cells in glyph cache 4.  Default value is 8.


Size of cells in glyph cache 5  Default value is 16.


Size of cells in glyph cache 6.  Default value is 32.


Size of cells in glyph cache 7.  Default value is 64.


Size of cells in glyph cache 8.  Default value is 128.


Size of cells in glyph cache 9.  Default value is 256.


Size of cells in glyph cache 10.  Default value is 512.


Size of cells in text fragment cache.  The default value is 256.


Enables full glyph support.  Default setting.


Enables partial glyph support.  The default setting is full glyph support.


Disables glyph support.  The default setting is full glyph support.


Enables shadow bitmap.  Default setting.


Disables shadow bitmap.  Shadow bitmap is enabled by defalut.


Specifies that the terminal is dedicated.  The default setting is disabled.


Specifies that the terminal is not dedicated.  Default setting.


Number of orders to draw into the shadow bitmap before transferring the output ot the screen.  The default setting is 25.  The value for this setting must be between 0 and 65535.


When checked, restores all of the settings to default upon exit of the application.


General Parameters

DOS Font Name

Min Send Interval

Max Event Count

Normal Event Count

Keep Alive Interval

Allow Background Input

BitmapCacheSize

BitmapCache1Prop

BitmapCache2Prop

BitmapCache3Prop

Single Connection Timeout

Overall Connection Timeout

Shutdown Timeout

Keyboard Layout

Order Draw Threshold

GlyphSupportLevel

GlyphCacheCell1Size

GlyphCacheCell2Size

GlyphCacheCell3Size

GlyphCacheCell4Size

GlyphCacheCell5Size

GlyphCacheCell6Size

GlyphCacheCell7Size

GlyphCacheCell8Size

GlyphCacheCell9Size

GlyphCacheCell10Size

TextFragmentCellSize

Left

Right

Top

Bottom

Program Group

CLListViewStyle

All User

BrowseDnsDomain

Keyboard Layout Table

IME Mapping Table


Session parameters

Desktop Size ID

Screen Mode ID

Color Depth

Full Address

Auto Connect

WinPosStr

Smooth Scrolling

Accelerator Passthrough Enabled

Transport Type

Dedicated Terminal

SAS Sequence

Hatch BitmapPDU Data

Hatch MemBlt Order Data

Label MemBlt Orders

Bitmap Cache Monitor

Expand

MRU0 .. MRU9

Hatch IndexPDU Data

Hatch SSB Data

Shadow Bitmap Enabled

Server Port

Compression

Disable CTRL+ALT+DEL

Enable Mouse

DoubleClick Detect

AutoLogon

MaximizeShell

Domain

UserName

Password

Alternate Shell

Shell Working Directory

Hotkey\Full Screen Hotkey

Hotkey\CtrlEsc

Hotkey\AltEsc

Hotkey\AltTab

Hotkey\AltShiftTab

Hotkey\AltSpace

 Hotkey\CtrlAltDelete


Trace parameters

BeepOnError

BreakOnError

CORE

DataTruncSize

DebugOutput

FileName1

FileName2

FileOutput

FlushOnTrace

FuncNameLength

NETWORK

Prefixes

ProcessID

ProfileTrace

SECURITY

StackTracing

ThreadID

TimeStamp

TraceFileSize

TraceLevel

UI

UTILITIES


DOS Font Name

Type:	String

Default:	“Terminal”

Configurable by user through UI?:	No

Meaning:

Win16 only – name of font used in DOS boxes. This font will be kept permanently loaded by the client otherwise it can

be made unavailable by the OS.


Min Send Interval

Type:	DWORD

Default:	100

Configurable by user through UI?:	No

Meaning:

Time interval before sending queued mouse moves (milliseconds).


Max Event Count

Type:	DWORD

Default:	100

Configurable by user through UI?:	No

Meaning:

Maximum number of input events that can be sent in one InputPDU


Normal Event Count

Type:	DWORD

Default:	10

Configurable by user through UI?:	No

Meaning:

Maximum number of input events sent in an InputPDU when there is no back pressure from the network layer.


Keep Alive Interval

Type:	DWORD

Default:	0

Configurable by user through UI?:	No

Meaning:

Interval, in seconds, to send keep-alive pings to the server. Zero disables the keep-alive function.


Allow Background Input

Type:	DWORD

Default:	0

Configurable by user through UI?:	No

Meaning:

Set this to 1 to enable sending of input messages when the client does not have the focus. Intended for use in
automated testing.


BitmapCacheSize

Type:	DWORD

Default:	1500

Configurable by user through UI?:	No

Meaning:

Size in KB of bitmap cache.


BitmapCache1Prop

Type:	DWORD

Default:	10

Configurable by user through UI?:	No

Meaning:

Percentage of bitmap cache used for small cache entries.


BitmapCache2Prop

Type:	DWORD

Default:	20

Configurable by user through UI?:	No

Meaning:

Percentage of bitmap cache used for medium cache entries.


BitmapCache3Prop

Type:	DWORD

Default:	70

Configurable by user through UI?:	No

Meaning:

Percentage of bitmap cache used for large cache entries.


Single Connection Timeout

Type:	DWORD

Default:	15

Configurable by user through UI?:	No

Meaning:

Timeout, in seconds, for a connection attempt to a single IP address. Other IP addresses obtained from DNS may be
used if this timeout is hit.


Overall Connection Timeout

Type:	DWORD

Default:	120

Configurable by user through UI?:	No

Meaning:

Overall timeout, in seconds, for a connection attempt to a server.


Shutdown Timeout

Type:	DWORD

Default:	10

Configurable by user through UI?:	No

Meaning:

Timeout in seconds to wait for server to respond to a shutdown PDU.


Keyboard Layout

Type:	String

Default:	0xffffffff

Configurable by user through UI?:	No

Meaning:

Enables overriding of the keyboard layout


Order Draw Threshold

Type:	DWORD

Default:	25

Configurable by user through UI?:	No

Meaning:

Number of orders to draw into the shadow bitmap before transferring the output to the screen


GlyphSupportLevel

Type:	DWORD

Default:	2

Configurable by user through UI?:	No

Meaning:

0 - none
1 - partial
2 - full glyph support


GlyphCacheCell1Size

Type:	DWORD

Default:	4

Configurable by user through UI?:	No

Meaning:

Size of cells in glyph cache 1


GlyphCacheCell2Size

Type:	DWORD

Default:	4

Configurable by user through UI?:	No

Meaning:

Size of cells in glyph cache 2


GlyphCacheCell3Size

Type:	DWORD

Default:	8

Configurable by user through UI?:	No

Meaning:

Size of cells in glyph cache 3


GlyphCacheCell4Size

Type:	DWORD

Default:	8

Configurable by user through UI?:	No

Meaning:

Size of cells in glyph cache 4


GlyphCacheCell5Size

Type:	DWORD

Default:	16

Configurable by user through UI?:	No

Meaning:

Size of cells in glyph cache 5


GlyphCacheCell6Size

Type:	DWORD

Default:	32

Configurable by user through UI?:	No

Meaning:

Size of cells in glyph cache 6


GlyphCacheCell7Size

Type:	DWORD

Default:	64

Configurable by user through UI?:	No

Meaning:

Size of cells in glyph cache 7


GlyphCacheCell8Size

Type:	DWORD

Default:	128

Configurable by user through UI?:	No

Meaning:

Size of cells in glyph cache 8


GlyphCacheCell9Size

Type:	DWORD

Default:	256

Configurable by user through UI?:	No

Meaning:

Size of cells in glyph cache 9


GlyphCacheCell10Size

Type:	DWORD

Default:	512

Configurable by user through UI?:	No

Meaning:

Size of cells in glyph cache 10


TextFragmentCellSize

Type:	DWORD

Default:	256

Configurable by user through UI?:	No

Meaning:

Size of cells in fragment cache.


Left

Type:	DWORD

Default:	50

Configurable by user through UI?:	Yes (in Client Connection Manager)

Meaning:

Left co-ordinate of Client Connection Manager when it was closed.


Right

Type:	DWORD

Default:	600

Configurable by user through UI?:	Yes (in Client Connection Manager)

Meaning:

Right co-ordinate of Client Connection when it was closed.


Top

Type:	DWORD

Default:	50

Configurable by user through UI?:	Yes (in Client Connection Manager)

Meaning:

Top co-ordinate of Client Connection Manager when it was closed.


Bottom

Type:	DWORD

Default:	350

Configurable by user through UI?:	Yes (in Client Connection Manager)

Meaning:

Bottom co-ordinate of Client Connection Manager when it was closed.


Program Group

Type:	String

Default:	Terminal server Client

Configurable by user through UI?:	Yes (using Terminal Server Client Setup)

Meaning:

Name of the program manager group or start menu where the shortcuts are installed.


CLListViewStyle

Type:	DWORD

Default:	0

Configurable by user through UI?:	Yes (in Client Connection Manager)

Meaning:

Style of Client Connection Manager listview when it was closed.


All User

Type:	DWORD

Default:	1 Under Windows NT for an administrator.  0 otherwise.

Configurable by user through UI?:	Yes (using Terminal Server Client Setup)

Meaning:

When Set to 1 MSTSC is installed for “all users”


BrowseDnsDomain

Type:	String

Default:	“”

Configurable by user through UI?:	No

Meaning:

Specify the dns name to browse for hydra servers in dns and display in the browse list box.


Keyboard Layout Table

Type:	String

Default:	0xffffffff

Configurable by user through UI?:	No

Meaning:

Alternative function of Win32 GetKeyboardLayoutName in the Win16 platform.


IME Mapping Table

Type:	String

Default:	Msime97.ime

Configurable by user through UI?:	No

Meaning:

Map to DLL based IME.

For ex.

Msime.exe = msime97.ime

This means, if client running msime.exe for default ime, then on the tshrclnt, using msime97.ime


Desktop Size ID

Type:	DWORD

Default:	Local screen size

Configurable by user through UI?:	Yes

Meaning:

Index indicating which of the following desktop sizes is chosen for the session:
0 - 640x480
1 - 800x600
2 - 1024x768
3 - 1280x1024
4 – 1600x1200

Other desktop sizes are not supported by v1.0 of MSTSC.


Screen Mode ID

Type:	DWORD

Default:	1

Configurable by user through UI?:	Yes (implicit)

Meaning:

1 - start in windowed mode
2 - start in full screen mode


Color Depth

Type:	DWORD

Default:	1

Configurable by user through UI?:	Yes (implicit)

Meaning:

1 - start in windowed mode
2 - start in full screen mode


Full Address

Type:	String

Default:	“”

Configurable by user through UI?:	Yes

Meaning:

Name of server to connect to.


Auto Connect

Type:	DWORD

Default:	0

Configurable by user through UI?:	No

Meaning:

Connect to configured host automatically when client is started.
0 - disabled
1 – enabled


WinPosStr

Type:	String

Default:	“0,1,0,0,640,480”

Configurable by user through UI?:	Yes (implicit)

Meaning:

Client window position and style (restored / maximized)


Smooth Scrolling

Type:	DWORD

Default:	0

Configurable by user through UI?:	Yes

Meaning:

0 - disabled
1 – enabled


Accelerator Passthrough Enabled

Type:	DWORD

Default:	1

Configurable by user through UI?:	Yes

Meaning:

0 - accelerators interpreted by MSTSC frame window
1- accelerators are remoted to the server


Transport Type

Type:	DWORD

Default:	1

Configurable by user through UI?:	No

Meaning:

1 - TCP/IP
Other transport types not supported by v1.0 client


Dedicated Terminal

Type:	DWORD

Default:	Default is 1 for WinCE, 0 for other platforms.

Configurable by user through UI?:	No

Meaning:

0 - not a dedicated terminal
1 - dedicated terminal


SAS Sequence

Type:	DWORD

Default:	0xaa03

Configurable by user through UI?:	No

Meaning:

0xaa01 – No SAS sequence
0xaa03 – Ctrl-Alt-Del


Hatch BitmapPDU Data

Type:	DWORD

Default:	0

Configurable by user through UI?:	Yes (Debug)

Meaning:

Debug only: hatch in red client drawing done using bitmap updates.


Hatch MemBlt Order Data

Type:	DWORD

Default:	0

Configurable by user through UI?:	Yes (Debug)

Meaning:

Debug only: hatch client drawing done using MEMBLT orders (in blue for MEMBLT orders, in green for MEM3BLT orders)


Label MemBlt Orders

Type:	DWORD

Default:	0

Configurable by user through UI?:	Yes (Debug)

Meaning:

Debug only: label MEMBLT orders with cache identifiers.


Bitmap Cache Monitor

Type:	DWORD

Default:	0

Configurable by user through UI?:	Yes (Debug)

Meaning:

Debug only:  Display bitmap cache usage monitor.


Expand

Type:	DWORD

Default:	0 for Win16; 1 for other plaforms.

Configurable by user through UI?:	Yes

Meaning:

Whether to expand server list by default.


MRU0 .. MRU9

Type:	String

Default:	“”

Configurable by user through UI?:	Yes (Implicit)

Meaning:

Default server addresses for the most-recently-used server list


Hatch IndexPDU Data

Type:	DWORD

Default:	0

Configurable by user through UI?:	Yes (Debug)

Meaning:

Hatch glyph output in yellow


Hatch SSB Data

Type:	DWORD

Default:	0

Configurable by user through UI?:	Yes (Debug)

Meaning:

Hatch SSB output in cyan


Shadow Bitmap Enabled

Type:	DWORD

Default:	0

Configurable by user through UI?:	No

Meaning:

Controls use of backup bitmap


Server Port

Type:	DWORD

Default:	0xd3d

Configurable by user through UI?:	No

Meaning:

Server port to which the client will connect.


Compression

Type:	DWORD

Default:	0

Configurable by user through UI?:	Yes (via the 'slow link' checkbox)

Meaning:

Controls use of data compression on the network.


Disable CTRL+ALT+DEL

Type:	DWORD

Default:	1

Configurable by user through UI?:	No

Meaning:

Set to 1, stops the server displaying the 'Press Ctrl+Alt+Del to logon' dialog.


Enable Mouse

Type:	DWORD

Default:	1

Configurable by user through UI?:	No

Meaning:

Flag to tell the server if we expect to be sending mouse messages.


DoubleClick Detect

Type:	DWORD

Default:	0

Configurable by user through UI?:	No

Meaning:

Flag for whether the client will identify double clicks for the server.


AutoLogon

Type:	DWORD

Default:	0

Configurable by user through UI?:	Yes (in Client Connection Manager)

Meaning:

Controls use of AutoLogon feature.


MaximizeShell

Type:	DWORD

Default:	1

Configurable by user through UI?:	No

Meaning:

Flag to indicate whether a single app session should be maximized.


Domain

Type:	Binary Unicode representation

Default:	“”

Configurable by user through UI?:	Yes (in Client Connection Manager)

Meaning:

Domain name to use for AutoLogon.


UserName

Type:	Binary Unicode representation

Default:	“”

Configurable by user through UI?:	Yes (in Client Connection Manager)

Meaning:

User name to use for AutoLogon.


Password

Type:	Encrypted binary

Default:	“”

Configurable by user through UI?:	Yes (in Client Connection Manager)

Meaning:

Password to use for AutoLogon.


Alternate Shell

Type:	Binary

Default:	“”

Configurable by user through UI?:	Yes (in Client Connection Manager)

Meaning:

Which application to start at logon (server defaults to explorer.exe).


Shell Working Directory

Type:	Binary

Default:	“”

Configurable by user through UI?:	Yes (in Client Connection Manager)

Meaning:

Working directory for the logon application.


Hotkey\Full Screen Hotkey

Type:	DWORD

Default:	VK_F12 (0x7B) for Japanese NEC PC-98 machines; VK_CANCEL (3) for other machines

Configurable by user through UI?:	No

Meaning:

VK code to add to Ctrl+Alt to determine hotkey for switching to full-screen mode.


Hotkey\CtrlEsc

Type:	DWORD

Default:	VK_HOME (0x24)

Configurable by user through UI?:	No

Meaning:

VK code to add to Alt to determine hotkey for emulating Ctrl+Esc.


Hotkey\AltEsc

Type:	DWORD

Default:	VK_INSERT (0x2D)

Configurable by user through UI?:	No

Meaning:

VK code to add to Alt to determine hotkey for emulating Alt+Esc.


Hotkey\AltTab

Type:	DWORD

Default:	VK_PRIOR (0x21)

Configurable by user through UI?:	No

Meaning:

VK code to add to Alt to determine hotkey for emulating Alt+Tab.


Hotkey\AltShiftTab

Type:	DWORD

Default:	VK_NEXT (0x22)

Configurable by user through UI?:	No

Meaning:

VK code to add to Alt to determine hotkey for emulating Alt+Shift+Tab.


Hotkey\AltSpace

Type:	DWORD

Default:	VK_DELETE (0x2E)

Configurable by user through UI?:	No

Meaning:

VK code to add to Alt to determine hotkey for emulating Alt+Space.


Hotkey\CtrlAltDelete

Type:	DWORD

Default:	VK_F15 (0x7E) for Japanese NEC PC-98 machines; VK_END (0x23) for other machines

Configurable by user through UI?:	No

Meaning:

VK code to add to Ctrl+Alt to determine hotkey for emulating Ctrl+Alt+del.


BeepOnError

Type:	DWORD

Default:	1

Configurable by user through UI?:

Meaning:

Beep on TRC_ERR.


BreakOnError

Type:	DWORD

Default:	0

Configurable by user through UI?:

Meaning:

0 - break into debugger on TRC_ERR
1 - do not break on TRC_ERR


CORE

Type:	DWORD

Default:	1

Configurable by user through UI?:

Meaning:

Trace filter: Core components


DataTruncSize

Type:	DWORD

Default:	64

Configurable by user through UI?:

Meaning:

Number of bytes of data written (for data tracing)


DebugOutput

Type:	DWORD

Default:	1

Configurable by user through UI?:

Meaning:

Write trace output to debugger


FileName1

Type:	String

Default:	“TRC1.TXT”

Configurable by user through UI?:

Meaning:

Trace file name


FileName2

Type:	String

Default:	“TRC2.TXT”

Configurable by user through UI?:

Meaning:

Trace file name


FileOutput

Type:	DWORD

Default:	1

Configurable by user through UI?:

Meaning:

Write trace output to file


FlushOnTrace

Type:	DWORD

Default:	0

Configurable by user through UI?:

Meaning:

Flush trace to file on every trace


FuncNameLength

Type:	DWORD

Default:	12

Configurable by user through UI?:

Meaning:

Length of function name field written to trace output


NETWORK

Type:	DWORD

Default:	1

Configurable by user through UI?:

Meaning:

Trace filter: Network Layer components


Prefixes

Type:	String

Default:	“”

Configurable by user through UI?:

Meaning:

Trace filter string


ProcessID

Type:	DWORD

Default:	1

Configurable by user through UI?:

Meaning:

Write process ID to trace output


ProfileTrace

Type:	DWORD

Default:	0

Configurable by user through UI?:

Meaning:

0 - profile tracing disabled
1 - profile tracing enabled


SECURITY

Type:	DWORD

Default:	1

Configurable by user through UI?:

Meaning:

Trace filter: Security Layer components


StackTracing

Type:	DWORD

Default:	0

Configurable by user through UI?:

Meaning:

0 - stack tracing disabled
1 - stack tracing enabled


ThreadID

Type:	DWORD

Default:	1

Configurable by user through UI?:

Meaning:

Write thread ID to trace output


TimeStamp

Type:	DWORD

Default:	1

Configurable by user through UI?:

Meaning:

Write time stamp to trace output


TraceFileSize

Type:	DWORD

Default:	100000

Configurable by user through UI?:

Meaning:

Size of trace files (bytes)


TraceLevel

Type:	DWORD

Default:	2

Configurable by user through UI?:

Meaning:

Trace Level:
0 - debug
1 - normal
2 - alert
3 - error
4 - assert
5 - none


UI

Type:	DWORD

Default:	1

Configurable by user through UI?:

Meaning:

Trace filter: UI components


UTILITIES

Type:	DWORD

Default:	1

Configurable by user through UI?:

Meaning:

Trace filter: Utility components


Restore button

Restores all settings on Miscellaneous page to the default settings.


Restore button

Restores all settings on Glyph Cache page to the default settings.