2.2.2.19 WINSTATIONCLIENT

The WINSTATIONCLIENT structure defines the client-requested configuration when connecting to a session.

 typedef struct _WINSTATIONCLIENT {
   ULONG fTextOnly  :1;
   ULONG fDisableCtrlAltDel  :1;
   ULONG fMouse  :1;
   ULONG fDoubleClickDetect  :1;
   ULONG fINetClient  :1;
   ULONG fPromptForPassword  :1;
   ULONG fMaximizeShell  :1;
   ULONG fEnableWindowsKey  :1;
   ULONG fRemoteConsoleAudio  :1;
   ULONG fPasswordIsScPin  :1;
   ULONG fNoAudioPlayback  :1;
   ULONG fUsingSavedCreds  :1;
   ULONG fRestrictedLogon  :1;
   WCHAR ClientName[CLIENTNAME_LENGTH + 1 ];
   WCHAR Domain[DOMAIN_LENGTH + 1 ];
   WCHAR UserName[USERNAME_LENGTH + 1 ];
   WCHAR Password[PASSWORD_LENGTH + 1 ];
   WCHAR WorkDirectory[DIRECTORY_LENGTH + 1 ];
   WCHAR InitialProgram[INITIALPROGRAM_LENGTH + 1 ];
   ULONG SerialNumber;
   BYTE EncryptionLevel;
   ULONG ClientAddressFamily;
   WCHAR ClientAddress[CLIENTADDRESS_LENGTH + 1 ];
   USHORT HRes;
   USHORT VRes;
   USHORT ColorDepth;
   USHORT ProtocolType;
   ULONG KeyboardLayout;
   ULONG KeyboardType;
   ULONG KeyboardSubType;
   ULONG KeyboardFunctionKey;
   WCHAR imeFileName[IMEFILENAME_LENGTH + 1 ];
   WCHAR ClientDirectory[DIRECTORY_LENGTH + 1 ];
   WCHAR ClientLicense[CLIENTLICENSE_LENGTH + 1 ];
   WCHAR ClientModem[CLIENTMODEM_LENGTH + 1 ];
   ULONG ClientBuildNumber;
   ULONG ClientHardwareId;
   USHORT ClientProductId;
   USHORT OutBufCountHost;
   USHORT OutBufCountClient;
   USHORT OutBufLength;
   WCHAR AudioDriverName[9];
   TS_TIME_ZONE_INFORMATION ClientTimeZone;
   ULONG ClientSessionId;
   WCHAR clientDigProductId[CLIENT_PRODUCT_ID_LENGTH];
   ULONG PerformanceFlags;
   ULONG ActiveInputLocale;
 } WINSTATIONCLIENT,
  *PWINSTATIONCLIENT;

fTextOnly: Text-only client session. This is always FALSE.

fDisableCtrlAltDel: Set to TRUE to specify that CTRL+ALT+DEL is disabled.

fMouse: TRUE indicates the mouse is connected to the client, FALSE otherwise.

fDoubleClickDetect: Double-click the detect flag. TRUE indicates detect double-click, FALSE otherwise.

fINetClient: Always set to FALSE.

fPromptForPassword: TRUE indicates the user will always be prompted for a password, even if the password is saved from previous connection; FALSE otherwise.

fMaximizeShell: TRUE indicates maximize the shell, FALSE otherwise.

fEnableWindowsKey: TRUE indicates that the Windows key (E0_5B) is enabled in the terminal server session. FALSE indicates that it is disabled.

fRemoteConsoleAudio: Set to TRUE if audio for the console session is left remotely at the server, FALSE otherwise.<78>

fPasswordIsScPin: Set to TRUE if the password field contains a smart card PIN, FALSE otherwise.<79>

fNoAudioPlayback: Set to TRUE to disable audio playback, or FALSE to enable audio playback.<80>

fUsingSavedCreds: Set to TRUE if the terminal server connection was made using a credential saved on the client computer, FALSE otherwise.

fRestrictedLogon: Set to TRUE if the client is running in Restricted Administration mode, FALSE otherwise. In Restricted Administration mode, user credentials are not sent to the server, which can protect the user if the server has been compromised.<81>

ClientName: The name of the client computer.

Domain: The user's domain name.

UserName: The user's user name.

Password: The user's password.

WorkDirectory: The work directory for the initial program.

InitialProgram: The program to run instead of the default.<82>

SerialNumber: The client computer's unique serial number.

EncryptionLevel: The encryption level.

ClientAddressFamily: The address family of the client's address.<83>

ClientAddress: The client's address. The format depends on the value of ClientAddressFamily. See [MSDN-SOCKET] for more information.

HRes: The horizontal resolution, in pixels.

VRes: The vertical resolution, in pixels.

ColorDepth: The color depth. <84>

ProtocolType: The type of protocol.<85>

KeyboardLayout: The keyboard layout (HKL).

KeyboardType: The keyboard type.

KeyboardSubType: The keyboard subtype.

KeyboardFunctionKey: The number of keyboard function keys.

imeFileName: The file name of the input method editor (IME), if any, used for the session. For more information on IMEs, see [MSFT-IME].

ClientDirectory: The directory in which the client was installed.

ClientLicense: The client's license.<86>

ClientModem: The client's modem.<87>

ClientBuildNumber: The client's build number.

ClientHardwareId: The client-specific hardware identifier.

ClientProductId: The client-specific product identifier.

OutBufCountHost: The number of output buffers on the host computer.

OutBufCountClient: The number of output buffers on the client computer.

OutBufLength: The length of the output buffer, in bytes.

AudioDriverName: The audio driver's name.

ClientTimeZone: The client's time zone.<88>

ClientSessionId: The client's session ID.<89>

clientDigProductId: The client-specific product ID.<90>

PerformanceFlags: Protocol-specific performance flags.<91> It MUST be any bitwise OR combination of the following except TS_PERF_DISABLE_NOTHING.

Value

Meaning

TS_PERF_DISABLE_NOTHING

0x00000000

Disable nothing.

TS_PERF_DISABLE_WALLPAPER

0x00000001

Disable wallpaper.

TS_PERF_DISABLE_FULLWINDOWDRAG

0x00000002

Disable full window drag animation.

TS_PERF_DISABLE_MENUANIMATIONS

0x00000004

Disable menu animations.

TS_PERF_DISABLE_THEMING

0x00000008

Disable themes.

TS_PERF_ENABLE_ENHANCED_GRAPHICS

0x00000010

Enable enhanced graphics.

TS_PERF_DISABLE_CURSOR_SHADOW

0x00000020

 Disable cursor shadow.

TS_PERF_DISABLE_CURSORSETTINGS

0x00000040

Disable cursor settings.

TS_PERF_ENABLE_FONT_SMOOTHING

0x00000080

Enable font smoothing.<92>

TS_PERF_ENABLE_DESKTOP_COMPOSITION

0x00000100

 Enable desktop composition.<93>

TS_PERF_DEFAULT_NONPERFCLIENT_SETTING

0x40000000

Reserved and used internally by the client.

TS_PERF_RESERVED1

0x80000000

Reserved and used internally by the client.

ActiveInputLocale: Client language locale HKL.<94>

For information about keyboard functions and handling, see [MSFT-W2KDDK].