| Home | Table of Contents | Please view with Internet Explorer (version 5.00 or higher) and enable scripting. For reasons, see Browsing This Web Site. |
CURRENT WORK ITEM - PREVIEW ONLY
When the IsOS function is given OS_FASTUSERSWITCHING as its dwOS argument, its answer is obtained by different methods in different SHLWAPI builds.
There is first a common dependence on the version information obtained from GetVersionEx. For all builds, a necessary condition for returning TRUE is that either VER_SUITE_TERMINAL or VER_SUITE_SINGLEUSERTS be set in the wSuiteMask member. This seems a natural test for whether multiple Terminal Services sessions are supported. The different builds then differ on how to establish whether multiple Terminal Services sessions are allowed.
In the SHLWAPI from Windows Vista, the answer is found through the Software Licensing API, specifically from whether the TerminalServices-RemoteConnectionManager-AllowMultipleSessions setting is non-zero. The function returns TRUE if
Earlier builds of SHLWAPI version 6.00 test the registry, specifically whether AllowMultipleTSSessions is non-zero. This value is accepted from either of two keys, listed below in order of decreasing precedence:
| Keys | HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\policies\system
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon |
| Value | AllowMultipleTSSesions |
| Type | REG_DWORD |
If the value is present but the data type is not REG_DWORD, it is evaluated as zero.
The OS_FASTUSERSWITCHING case of the SHLWAPI function IsOS is supported in version 6.00 and higher.