CURRENT WORK ITEM - PREVIEW ONLY

OS_WELCOMELOGONUI

When the IsOS function is given OS_WELCOMELOGONUI as its dwOS argument, its answer is obtained by different methods in different SHLWAPI builds. All builds agree on a test for whether the Welcome Logon User Interface is enabled, but they differ in their selection of preliminary tests for whether the feature is supported.

The SHLWAPI version 6.00 from Windows Vista limits the feature to operating systems from before Windows Vista and only then for workstations. For late version 6.00 pre-Vista builds, the feature is supported only on workstations that are not domain members. Before then, it was apparently thought sufficient just to check that the local computer is not a domain member. (The test for Windows Vista or higher is that of the undocumented IsOS case 0x25. The test for a workstation is that the wProductType member of the version information obtained from GetVersionEx is VER_NT_WORKSTATION. The test for domain membership is essentially that of OS_DOMAINMEMBER.)

As for whether the supported feature is enabled, all builds check the registry. The function returns TRUE if the GinalDLL value is not present and the LogonType value is non-zero.

The GinaDLL value is from one key only:

Keys HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
Value GinaDLL

If the value is present but has more than 260 bytes of data, it is interpreted as being not present. The LogonType value is from either of two keys in the registry, 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 LogonType
Type REG_DWORD

If the value is present but the data type is not REG_DWORD, it is evaluated as zero.

Availability

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