Author: ekohl Date: Sat Apr 19 09:09:12 2014 New Revision: 62793
URL: http://svn.reactos.org/svn/reactos?rev=62793&view=rev Log: [MSGINA] - Allways add the computer name to the domain list. - Notify the user about required password changes and repeat the logon using the new password.
Modified: trunk/reactos/dll/win32/msgina/gui.c trunk/reactos/dll/win32/msgina/lang/bg-BG.rc trunk/reactos/dll/win32/msgina/lang/cs-CZ.rc trunk/reactos/dll/win32/msgina/lang/de-DE.rc trunk/reactos/dll/win32/msgina/lang/en-US.rc trunk/reactos/dll/win32/msgina/lang/es-ES.rc trunk/reactos/dll/win32/msgina/lang/fr-FR.rc trunk/reactos/dll/win32/msgina/lang/he-IL.rc trunk/reactos/dll/win32/msgina/lang/id-ID.rc trunk/reactos/dll/win32/msgina/lang/it-IT.rc trunk/reactos/dll/win32/msgina/lang/ja-JP.rc trunk/reactos/dll/win32/msgina/lang/no-NO.rc trunk/reactos/dll/win32/msgina/lang/pl-PL.rc trunk/reactos/dll/win32/msgina/lang/ro-RO.rc trunk/reactos/dll/win32/msgina/lang/ru-RU.rc trunk/reactos/dll/win32/msgina/lang/sk-SK.rc trunk/reactos/dll/win32/msgina/lang/sq-AL.rc trunk/reactos/dll/win32/msgina/lang/tr-TR.rc trunk/reactos/dll/win32/msgina/lang/uk-UA.rc trunk/reactos/dll/win32/msgina/resource.h
Modified: trunk/reactos/dll/win32/msgina/gui.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msgina/gui.c?rev=... ============================================================================== --- trunk/reactos/dll/win32/msgina/gui.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msgina/gui.c [iso-8859-1] Sat Apr 19 09:09:12 2014 @@ -975,6 +975,38 @@ MB_OK | MB_ICONERROR); goto done; } + else if ((SubStatus == STATUS_PASSWORD_MUST_CHANGE) || + (SubStatus == STATUS_PASSWORD_EXPIRED)) + { + if (SubStatus == STATUS_PASSWORD_MUST_CHANGE) + ResourceMessageBox(pgContext, + hwndDlg, + MB_OK | MB_ICONSTOP, + IDS_LOGONTITLE, + IDS_PASSWORDMUSTCHANGE); + else + ResourceMessageBox(pgContext, + hwndDlg, + MB_OK | MB_ICONSTOP, + IDS_LOGONTITLE, + IDS_PASSWORDEXPIRED); + + if (!OnChangePassword(hwndDlg, + pgContext)) + goto done; + + Status = DoLoginTasks(pgContext, + pgContext->UserName, + pgContext->Domain, + pgContext->Password, + &SubStatus); + if (!NT_SUCCESS(Status)) + { + TRACE("Login after password change failed! (Status 0x%08lx)\n", Status); + + goto done; + } + } else { TRACE("Other error!\n"); @@ -1018,6 +1050,43 @@ return result; }
+ +static +VOID +SetDomainComboBox( + HWND hwndDomainComboBox, + PGINA_CONTEXT pgContext) +{ + WCHAR szComputerName[MAX_COMPUTERNAME_LENGTH + 1]; + DWORD dwComputerNameLength; + LONG lIndex = 0; + LONG lFindIndex; + + SendMessageW(hwndDomainComboBox, CB_RESETCONTENT, 0, 0); + + dwComputerNameLength = sizeof(szComputerName) / sizeof(WCHAR); + if (GetComputerNameW(szComputerName, &dwComputerNameLength)) + { + lIndex = SendMessageW(hwndDomainComboBox, CB_ADDSTRING, 0, (LPARAM)szComputerName); + } + + if (wcslen(pgContext->Domain) != 0) + { + lFindIndex = SendMessageW(hwndDomainComboBox, CB_FINDSTRINGEXACT, (WPARAM)-1, (LPARAM)pgContext->Domain); + if (lFindIndex == CB_ERR) + { + lIndex = SendMessageW(hwndDomainComboBox, CB_ADDSTRING, 0, (LPARAM)pgContext->Domain); + } + else + { + lIndex = lFindIndex; + } + } + + SendMessageW(hwndDomainComboBox, CB_SETCURSEL, lIndex, 0); +} + + static INT_PTR CALLBACK LoggedOutWindowProc( IN HWND hwndDlg, @@ -1045,8 +1114,7 @@ if (pgContext->bShutdownWithoutLogon == FALSE) EnableWindow(GetDlgItem(hwndDlg, IDC_SHUTDOWN), FALSE);
- SendDlgItemMessageW(hwndDlg, IDC_LOGON_TO, CB_ADDSTRING, 0, (LPARAM)pgContext->Domain); - SendDlgItemMessageW(hwndDlg, IDC_LOGON_TO, CB_SETCURSEL, 0, 0); + SetDomainComboBox(GetDlgItem(hwndDlg, IDC_LOGON_TO), pgContext);
SetFocus(GetDlgItem(hwndDlg, pgContext->bDontDisplayLastUserName ? IDC_USERNAME : IDC_PASSWORD));
Modified: trunk/reactos/dll/win32/msgina/lang/bg-BG.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msgina/lang/bg-BG... ============================================================================== --- trunk/reactos/dll/win32/msgina/lang/bg-BG.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msgina/lang/bg-BG.rc [iso-8859-1] Sat Apr 19 09:09:12 2014 @@ -148,6 +148,8 @@ IDS_LOGONTITLE "Logon Message" IDS_LOGONWRONGUSERORPWD "The system could not log you on. Make sure your User name and domain are correct, then type your password again. Letters in passwords must be typed using the correct case." IDS_LOGONUSERDISABLED "Your account has been disabled. Please see your system administrator." + IDS_PASSWORDMUSTCHANGE "You are required to change your password at first logon." + IDS_PASSWORDEXPIRED "Your password has expired and must be changed." END
/* Shutdown Dialog Strings */
Modified: trunk/reactos/dll/win32/msgina/lang/cs-CZ.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msgina/lang/cs-CZ... ============================================================================== --- trunk/reactos/dll/win32/msgina/lang/cs-CZ.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msgina/lang/cs-CZ.rc [iso-8859-1] Sat Apr 19 09:09:12 2014 @@ -153,6 +153,8 @@ IDS_LOGONTITLE "Logon Message" IDS_LOGONWRONGUSERORPWD "The system could not log you on. Make sure your User name and domain are correct, then type your password again. Letters in passwords must be typed using the correct case." IDS_LOGONUSERDISABLED "Your account has been disabled. Please see your system administrator." + IDS_PASSWORDMUSTCHANGE "You are required to change your password at first logon." + IDS_PASSWORDEXPIRED "Your password has expired and must be changed." END
/* Shutdown Dialog Strings */
Modified: trunk/reactos/dll/win32/msgina/lang/de-DE.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msgina/lang/de-DE... ============================================================================== --- trunk/reactos/dll/win32/msgina/lang/de-DE.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msgina/lang/de-DE.rc [iso-8859-1] Sat Apr 19 09:09:12 2014 @@ -148,6 +148,8 @@ IDS_LOGONTITLE "Anmeldemeldung" IDS_LOGONWRONGUSERORPWD "Sie konnten nicht angemeldet werden. Prüfen Sie Benutzername und Domäne, und geben Sie das Passwort erneut ein. Bei Passworten wird GroÃ- und Kleinschreibung unterschieden." IDS_LOGONUSERDISABLED "Ihr Konto wurde deaktiviert. Wenden Sie sich an Ihren Systemadministrator." + IDS_PASSWORDMUSTCHANGE "Sie müssen Ihr Paasswort bei der ersten Anmeldung ändern." + IDS_PASSWORDEXPIRED "Ihr Passwort ist abgelaufen und muss geändert werden." END
/* Shutdown Dialog Strings */
Modified: trunk/reactos/dll/win32/msgina/lang/en-US.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msgina/lang/en-US... ============================================================================== --- trunk/reactos/dll/win32/msgina/lang/en-US.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msgina/lang/en-US.rc [iso-8859-1] Sat Apr 19 09:09:12 2014 @@ -148,6 +148,8 @@ IDS_LOGONTITLE "Logon Message" IDS_LOGONWRONGUSERORPWD "The system could not log you on. Make sure your User name and domain are correct, then type your password again. Letters in passwords must be typed using the correct case." IDS_LOGONUSERDISABLED "Your account has been disabled. Please see your system administrator." + IDS_PASSWORDMUSTCHANGE "You are required to change your password at first logon." + IDS_PASSWORDEXPIRED "Your password has expired and must be changed." END
/* Shutdown Dialog Strings */
Modified: trunk/reactos/dll/win32/msgina/lang/es-ES.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msgina/lang/es-ES... ============================================================================== --- trunk/reactos/dll/win32/msgina/lang/es-ES.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msgina/lang/es-ES.rc [iso-8859-1] Sat Apr 19 09:09:12 2014 @@ -150,6 +150,8 @@ IDS_LOGONTITLE "Logon Message" IDS_LOGONWRONGUSERORPWD "The system could not log you on. Make sure your User name and domain are correct, then type your password again. Letters in passwords must be typed using the correct case." IDS_LOGONUSERDISABLED "Your account has been disabled. Please see your system administrator." + IDS_PASSWORDMUSTCHANGE "You are required to change your password at first logon." + IDS_PASSWORDEXPIRED "Your password has expired and must be changed." END
/* Shutdown Dialog Strings */
Modified: trunk/reactos/dll/win32/msgina/lang/fr-FR.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msgina/lang/fr-FR... ============================================================================== --- trunk/reactos/dll/win32/msgina/lang/fr-FR.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msgina/lang/fr-FR.rc [iso-8859-1] Sat Apr 19 09:09:12 2014 @@ -148,6 +148,8 @@ IDS_LOGONTITLE "Logon Message" IDS_LOGONWRONGUSERORPWD "The system could not log you on. Make sure your User name and domain are correct, then type your password again. Letters in passwords must be typed using the correct case." IDS_LOGONUSERDISABLED "Your account has been disabled. Please see your system administrator." + IDS_PASSWORDMUSTCHANGE "You are required to change your password at first logon." + IDS_PASSWORDEXPIRED "Your password has expired and must be changed." END
/* Shutdown Dialog Strings */
Modified: trunk/reactos/dll/win32/msgina/lang/he-IL.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msgina/lang/he-IL... ============================================================================== --- trunk/reactos/dll/win32/msgina/lang/he-IL.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msgina/lang/he-IL.rc [iso-8859-1] Sat Apr 19 09:09:12 2014 @@ -148,6 +148,8 @@ IDS_LOGONTITLE "Logon Message" IDS_LOGONWRONGUSERORPWD "The system could not log you on. Make sure your User name and domain are correct, then type your password again. Letters in passwords must be typed using the correct case." IDS_LOGONUSERDISABLED "Your account has been disabled. Please see your system administrator." + IDS_PASSWORDMUSTCHANGE "You are required to change your password at first logon." + IDS_PASSWORDEXPIRED "Your password has expired and must be changed." END
/* Shutdown Dialog Strings */
Modified: trunk/reactos/dll/win32/msgina/lang/id-ID.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msgina/lang/id-ID... ============================================================================== --- trunk/reactos/dll/win32/msgina/lang/id-ID.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msgina/lang/id-ID.rc [iso-8859-1] Sat Apr 19 09:09:12 2014 @@ -148,6 +148,8 @@ IDS_LOGONTITLE "Logon Message" IDS_LOGONWRONGUSERORPWD "The system could not log you on. Make sure your User name and domain are correct, then type your password again. Letters in passwords must be typed using the correct case." IDS_LOGONUSERDISABLED "Your account has been disabled. Please see your system administrator." + IDS_PASSWORDMUSTCHANGE "You are required to change your password at first logon." + IDS_PASSWORDEXPIRED "Your password has expired and must be changed." END
/* Shutdown Dialog Strings */
Modified: trunk/reactos/dll/win32/msgina/lang/it-IT.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msgina/lang/it-IT... ============================================================================== --- trunk/reactos/dll/win32/msgina/lang/it-IT.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msgina/lang/it-IT.rc [iso-8859-1] Sat Apr 19 09:09:12 2014 @@ -156,6 +156,8 @@ IDS_LOGONTITLE "Logon Message" IDS_LOGONWRONGUSERORPWD "The system could not log you on. Make sure your User name and domain are correct, then type your password again. Letters in passwords must be typed using the correct case." IDS_LOGONUSERDISABLED "Your account has been disabled. Please see your system administrator." + IDS_PASSWORDMUSTCHANGE "You are required to change your password at first logon." + IDS_PASSWORDEXPIRED "Your password has expired and must be changed." END
/* Shutdown Dialog Strings */
Modified: trunk/reactos/dll/win32/msgina/lang/ja-JP.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msgina/lang/ja-JP... ============================================================================== --- trunk/reactos/dll/win32/msgina/lang/ja-JP.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msgina/lang/ja-JP.rc [iso-8859-1] Sat Apr 19 09:09:12 2014 @@ -148,6 +148,8 @@ IDS_LOGONTITLE "Logon Message" IDS_LOGONWRONGUSERORPWD "The system could not log you on. Make sure your User name and domain are correct, then type your password again. Letters in passwords must be typed using the correct case." IDS_LOGONUSERDISABLED "Your account has been disabled. Please see your system administrator." + IDS_PASSWORDMUSTCHANGE "You are required to change your password at first logon." + IDS_PASSWORDEXPIRED "Your password has expired and must be changed." END
/* Shutdown Dialog Strings */
Modified: trunk/reactos/dll/win32/msgina/lang/no-NO.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msgina/lang/no-NO... ============================================================================== --- trunk/reactos/dll/win32/msgina/lang/no-NO.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msgina/lang/no-NO.rc [iso-8859-1] Sat Apr 19 09:09:12 2014 @@ -148,6 +148,8 @@ IDS_LOGONTITLE "Logon Message" IDS_LOGONWRONGUSERORPWD "The system could not log you on. Make sure your User name and domain are correct, then type your password again. Letters in passwords must be typed using the correct case." IDS_LOGONUSERDISABLED "Your account has been disabled. Please see your system administrator." + IDS_PASSWORDMUSTCHANGE "You are required to change your password at first logon." + IDS_PASSWORDEXPIRED "Your password has expired and must be changed." END
/* Shutdown Dialog Strings */
Modified: trunk/reactos/dll/win32/msgina/lang/pl-PL.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msgina/lang/pl-PL... ============================================================================== --- trunk/reactos/dll/win32/msgina/lang/pl-PL.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msgina/lang/pl-PL.rc [iso-8859-1] Sat Apr 19 09:09:12 2014 @@ -157,6 +157,8 @@ IDS_LOGONTITLE "Logon Message" IDS_LOGONWRONGUSERORPWD "The system could not log you on. Make sure your User name and domain are correct, then type your password again. Letters in passwords must be typed using the correct case." IDS_LOGONUSERDISABLED "Your account has been disabled. Please see your system administrator." + IDS_PASSWORDMUSTCHANGE "You are required to change your password at first logon." + IDS_PASSWORDEXPIRED "Your password has expired and must be changed." END
/* Shutdown Dialog Strings */
Modified: trunk/reactos/dll/win32/msgina/lang/ro-RO.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msgina/lang/ro-RO... ============================================================================== --- trunk/reactos/dll/win32/msgina/lang/ro-RO.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msgina/lang/ro-RO.rc [iso-8859-1] Sat Apr 19 09:09:12 2014 @@ -150,6 +150,8 @@ IDS_LOGONTITLE "Mesaj de autentificare" IDS_LOGONWRONGUSERORPWD "Sistemul nu vÄ poate autentifica. AsiguraÈi-vÄ cÄ numele Èi domeniul sunt corecte apoi tastaÈi din nou parola. Ãn parolÄ se face distincÈie între majuscule Èi minuscule." IDS_LOGONUSERDISABLED "Contul dumneavoastrÄ a fost dezactivat. ContactaÈi administratorul de sistem." + IDS_PASSWORDMUSTCHANGE "You are required to change your password at first logon." + IDS_PASSWORDEXPIRED "Your password has expired and must be changed." END
/* Shutdown Dialog Strings */
Modified: trunk/reactos/dll/win32/msgina/lang/ru-RU.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msgina/lang/ru-RU... ============================================================================== --- trunk/reactos/dll/win32/msgina/lang/ru-RU.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msgina/lang/ru-RU.rc [iso-8859-1] Sat Apr 19 09:09:12 2014 @@ -150,6 +150,8 @@ IDS_LOGONTITLE "Logon Message" IDS_LOGONWRONGUSERORPWD "СиÑÑеме не ÑдаеÑÑÑ Ð²Ð¾Ð¹Ñи в. УбедиÑеÑÑ Ð² Ñом, ваÑе Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð¸ домен веÑнÑ, Ñо введиÑе паÑÐ¾Ð»Ñ ÐµÑе Ñаз. Ð¡Ð¸Ð¼Ð²Ð¾Ð»Ñ Ð² ÐаÑоли вводÑÑÑÑ Ñ ÑÑеÑом ÑегиÑÑÑа" IDS_LOGONUSERDISABLED "ÐÐ°Ñ Ð°ÐºÐºÐ°ÑÐ½Ñ Ð±Ñл оÑклÑÑен. ÐожалÑйÑÑа, обÑаÑиÑеÑÑ Ðº ÑиÑÑÐµÐ¼Ð½Ð¾Ð¼Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¸ÑÑÑаÑоÑÑ." + IDS_PASSWORDMUSTCHANGE "You are required to change your password at first logon." + IDS_PASSWORDEXPIRED "Your password has expired and must be changed." END
/* Shutdown Dialog Strings */
Modified: trunk/reactos/dll/win32/msgina/lang/sk-SK.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msgina/lang/sk-SK... ============================================================================== --- trunk/reactos/dll/win32/msgina/lang/sk-SK.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msgina/lang/sk-SK.rc [iso-8859-1] Sat Apr 19 09:09:12 2014 @@ -153,6 +153,8 @@ IDS_LOGONTITLE "Logon Message" IDS_LOGONWRONGUSERORPWD "The system could not log you on. Make sure your User name and domain are correct, then type your password again. Letters in passwords must be typed using the correct case." IDS_LOGONUSERDISABLED "Your account has been disabled. Please see your system administrator." + IDS_PASSWORDMUSTCHANGE "You are required to change your password at first logon." + IDS_PASSWORDEXPIRED "Your password has expired and must be changed." END
/* Shutdown Dialog Strings */
Modified: trunk/reactos/dll/win32/msgina/lang/sq-AL.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msgina/lang/sq-AL... ============================================================================== --- trunk/reactos/dll/win32/msgina/lang/sq-AL.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msgina/lang/sq-AL.rc [iso-8859-1] Sat Apr 19 09:09:12 2014 @@ -151,6 +151,8 @@ IDS_LOGONTITLE "Logon Message" IDS_LOGONWRONGUSERORPWD "The system could not log you on. Make sure your User name and domain are correct, then type your password again. Letters in passwords must be typed using the correct case." IDS_LOGONUSERDISABLED "Your account has been disabled. Please see your system administrator." + IDS_PASSWORDMUSTCHANGE "You are required to change your password at first logon." + IDS_PASSWORDEXPIRED "Your password has expired and must be changed." END
/* Shutdown Dialog Strings */
Modified: trunk/reactos/dll/win32/msgina/lang/tr-TR.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msgina/lang/tr-TR... ============================================================================== --- trunk/reactos/dll/win32/msgina/lang/tr-TR.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msgina/lang/tr-TR.rc [iso-8859-1] Sat Apr 19 09:09:12 2014 @@ -150,6 +150,8 @@ IDS_LOGONTITLE "Logon Message" IDS_LOGONWRONGUSERORPWD "The system could not log you on. Make sure your User name and domain are correct, then type your password again. Letters in passwords must be typed using the correct case." IDS_LOGONUSERDISABLED "Your account has been disabled. Please see your system administrator." + IDS_PASSWORDMUSTCHANGE "You are required to change your password at first logon." + IDS_PASSWORDEXPIRED "Your password has expired and must be changed." END
/* Shutdown Dialog Strings */
Modified: trunk/reactos/dll/win32/msgina/lang/uk-UA.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msgina/lang/uk-UA... ============================================================================== --- trunk/reactos/dll/win32/msgina/lang/uk-UA.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msgina/lang/uk-UA.rc [iso-8859-1] Sat Apr 19 09:09:12 2014 @@ -156,6 +156,8 @@ IDS_LOGONTITLE "Logon Message" IDS_LOGONWRONGUSERORPWD "The system could not log you on. Make sure your User name and domain are correct, then type your password again. Letters in passwords must be typed using the correct case." IDS_LOGONUSERDISABLED "Your account has been disabled. Please see your system administrator." + IDS_PASSWORDMUSTCHANGE "You are required to change your password at first logon." + IDS_PASSWORDEXPIRED "Your password has expired and must be changed." END
/* Shutdown Dialog Strings */
Modified: trunk/reactos/dll/win32/msgina/resource.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msgina/resource.h... ============================================================================== --- trunk/reactos/dll/win32/msgina/resource.h [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msgina/resource.h [iso-8859-1] Sat Apr 19 09:09:12 2014 @@ -57,6 +57,8 @@ #define IDS_LOGONTITLE 40015 #define IDS_LOGONWRONGUSERORPWD 40016 #define IDS_LOGONUSERDISABLED 40017 +#define IDS_PASSWORDMUSTCHANGE 40018 +#define IDS_PASSWORDEXPIRED 40019
#define IDS_SHUTDOWN_SHUTDOWN 50000 #define IDS_SHUTDOWN_LOGOFF 50001