CURRENT WORK ITEM - PREVIEW ONLY

OS_FASTUSERSWITCHING

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.

Availability

The OS_FASTUSERSWITCHING case of the SHLWAPI function IsOS is supported in version 6.00 and higher.