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].