mirror of
https://github.com/reactos/reactos.git
synced 2025-07-27 15:11:41 +00:00
[WINLOGON]
Formatting. No code changes. svn path=/trunk/; revision=58406
This commit is contained in:
parent
95e9b1a4a7
commit
65ad79656d
4 changed files with 744 additions and 724 deletions
|
@ -15,9 +15,10 @@ WINE_DEFAULT_DEBUG_CHANNEL(winlogon);
|
||||||
/* FUNCTIONS ****************************************************************/
|
/* FUNCTIONS ****************************************************************/
|
||||||
|
|
||||||
#ifndef USE_GETLASTINPUTINFO
|
#ifndef USE_GETLASTINPUTINFO
|
||||||
static LRESULT CALLBACK
|
static
|
||||||
KeyboardActivityProc(
|
LRESULT
|
||||||
IN INT nCode,
|
CALLBACK
|
||||||
|
KeyboardActivityProc(IN INT nCode,
|
||||||
IN WPARAM wParam,
|
IN WPARAM wParam,
|
||||||
IN LPARAM lParam)
|
IN LPARAM lParam)
|
||||||
{
|
{
|
||||||
|
@ -25,9 +26,11 @@ KeyboardActivityProc(
|
||||||
return CallNextHookEx(NULL, nCode, wParam, lParam);
|
return CallNextHookEx(NULL, nCode, wParam, lParam);
|
||||||
}
|
}
|
||||||
|
|
||||||
static LRESULT CALLBACK
|
|
||||||
MouseActivityProc(
|
static
|
||||||
IN INT nCode,
|
LRESULT
|
||||||
|
CALLBACK
|
||||||
|
MouseActivityProc(IN INT nCode,
|
||||||
IN WPARAM wParam,
|
IN WPARAM wParam,
|
||||||
IN LPARAM lParam)
|
IN LPARAM lParam)
|
||||||
{
|
{
|
||||||
|
@ -36,9 +39,10 @@ MouseActivityProc(
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static VOID
|
|
||||||
LoadScreenSaverParameters(
|
static
|
||||||
OUT LPDWORD Timeout)
|
VOID
|
||||||
|
LoadScreenSaverParameters(OUT LPDWORD Timeout)
|
||||||
{
|
{
|
||||||
BOOL Enabled;
|
BOOL Enabled;
|
||||||
|
|
||||||
|
@ -64,9 +68,11 @@ LoadScreenSaverParameters(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static DWORD WINAPI
|
|
||||||
ScreenSaverThreadMain(
|
static
|
||||||
IN LPVOID lpParameter)
|
DWORD
|
||||||
|
WINAPI
|
||||||
|
ScreenSaverThreadMain(IN LPVOID lpParameter)
|
||||||
{
|
{
|
||||||
PWLSESSION Session = (PWLSESSION)lpParameter;
|
PWLSESSION Session = (PWLSESSION)lpParameter;
|
||||||
HANDLE HandleArray[3];
|
HANDLE HandleArray[3];
|
||||||
|
@ -125,6 +131,7 @@ ScreenSaverThreadMain(
|
||||||
TimeToWait = 10; /* Try again in 10 ms */
|
TimeToWait = 10; /* Try again in 10 ms */
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (TimeToWait > Timeout)
|
if (TimeToWait > Timeout)
|
||||||
{
|
{
|
||||||
/* GetTickCount() got back to 0 */
|
/* GetTickCount() got back to 0 */
|
||||||
|
@ -149,6 +156,7 @@ ScreenSaverThreadMain(
|
||||||
WARN("GetLastInputInfo() failed with error %lu\n", GetLastError());
|
WARN("GetLastInputInfo() failed with error %lu\n", GetLastError());
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lastInputInfo.dwTime + Timeout > GetTickCount())
|
if (lastInputInfo.dwTime + Timeout > GetTickCount())
|
||||||
continue;
|
continue;
|
||||||
#endif
|
#endif
|
||||||
|
@ -170,22 +178,26 @@ cleanup:
|
||||||
RevertToSelf();
|
RevertToSelf();
|
||||||
if (Session->hUserActivity)
|
if (Session->hUserActivity)
|
||||||
CloseHandle(Session->hUserActivity);
|
CloseHandle(Session->hUserActivity);
|
||||||
|
|
||||||
if (Session->hEndOfScreenSaver)
|
if (Session->hEndOfScreenSaver)
|
||||||
CloseHandle(Session->hEndOfScreenSaver);
|
CloseHandle(Session->hEndOfScreenSaver);
|
||||||
|
|
||||||
#ifndef USE_GETLASTINPUTINFO
|
#ifndef USE_GETLASTINPUTINFO
|
||||||
if (Session->KeyboardHook)
|
if (Session->KeyboardHook)
|
||||||
UnhookWindowsHookEx(Session->KeyboardHook);
|
UnhookWindowsHookEx(Session->KeyboardHook);
|
||||||
|
|
||||||
if (Session->MouseHook)
|
if (Session->MouseHook)
|
||||||
UnhookWindowsHookEx(Session->MouseHook);
|
UnhookWindowsHookEx(Session->MouseHook);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
CloseHandle(Session->hEndOfScreenSaverThread);
|
CloseHandle(Session->hEndOfScreenSaverThread);
|
||||||
CloseHandle(Session->hScreenSaverParametersChanged);
|
CloseHandle(Session->hScreenSaverParametersChanged);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
InitializeScreenSaver(
|
InitializeScreenSaver(IN OUT PWLSESSION Session)
|
||||||
IN OUT PWLSESSION Session)
|
|
||||||
{
|
{
|
||||||
HANDLE ScreenSaverThread;
|
HANDLE ScreenSaverThread;
|
||||||
|
|
||||||
|
@ -197,6 +209,7 @@ InitializeScreenSaver(
|
||||||
ERR("WL: Unable to register keyboard hook\n");
|
ERR("WL: Unable to register keyboard hook\n");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
Session->MouseHook = SetWindowsHookEx(WH_MOUSE_LL, MouseActivityProc, hAppInstance, 0);
|
Session->MouseHook = SetWindowsHookEx(WH_MOUSE_LL, MouseActivityProc, hAppInstance, 0);
|
||||||
if (!Session->MouseHook)
|
if (!Session->MouseHook)
|
||||||
{
|
{
|
||||||
|
@ -211,6 +224,7 @@ InitializeScreenSaver(
|
||||||
WARN("WL: Unable to create screen saver event (error %lu)\n", GetLastError());
|
WARN("WL: Unable to create screen saver event (error %lu)\n", GetLastError());
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
Session->hEndOfScreenSaverThread = CreateEventW(NULL, FALSE, FALSE, NULL);
|
Session->hEndOfScreenSaverThread = CreateEventW(NULL, FALSE, FALSE, NULL);
|
||||||
if (!Session->hEndOfScreenSaverThread)
|
if (!Session->hEndOfScreenSaverThread)
|
||||||
{
|
{
|
||||||
|
@ -219,8 +233,7 @@ InitializeScreenSaver(
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
ScreenSaverThread = CreateThread(
|
ScreenSaverThread = CreateThread(NULL,
|
||||||
NULL,
|
|
||||||
0,
|
0,
|
||||||
ScreenSaverThreadMain,
|
ScreenSaverThreadMain,
|
||||||
Session,
|
Session,
|
||||||
|
@ -234,9 +247,9 @@ InitializeScreenSaver(
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
StartScreenSaver(
|
StartScreenSaver(IN PWLSESSION Session)
|
||||||
IN PWLSESSION Session)
|
|
||||||
{
|
{
|
||||||
HKEY hKey = NULL, hCurrentUser = NULL;
|
HKEY hKey = NULL, hCurrentUser = NULL;
|
||||||
WCHAR szApplicationName[MAX_PATH];
|
WCHAR szApplicationName[MAX_PATH];
|
||||||
|
@ -256,8 +269,7 @@ StartScreenSaver(
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = RegOpenCurrentUser(
|
rc = RegOpenCurrentUser(KEY_READ,
|
||||||
KEY_READ,
|
|
||||||
&hCurrentUser);
|
&hCurrentUser);
|
||||||
if (rc != ERROR_SUCCESS)
|
if (rc != ERROR_SUCCESS)
|
||||||
{
|
{
|
||||||
|
@ -265,8 +277,7 @@ StartScreenSaver(
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = RegOpenKeyExW(
|
rc = RegOpenKeyExW(hCurrentUser,
|
||||||
hCurrentUser,
|
|
||||||
L"Control Panel\\Desktop",
|
L"Control Panel\\Desktop",
|
||||||
0,
|
0,
|
||||||
KEY_QUERY_VALUE,
|
KEY_QUERY_VALUE,
|
||||||
|
@ -277,8 +288,7 @@ StartScreenSaver(
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = RegQueryValueExW(
|
rc = RegQueryValueExW(hKey,
|
||||||
hKey,
|
|
||||||
L"SCRNSAVE.EXE",
|
L"SCRNSAVE.EXE",
|
||||||
0,
|
0,
|
||||||
&dwType,
|
&dwType,
|
||||||
|
@ -311,9 +321,9 @@ StartScreenSaver(
|
||||||
ZeroMemory(&ProcessInformation, sizeof(PROCESS_INFORMATION));
|
ZeroMemory(&ProcessInformation, sizeof(PROCESS_INFORMATION));
|
||||||
StartupInfo.cb = sizeof(STARTUPINFOW);
|
StartupInfo.cb = sizeof(STARTUPINFOW);
|
||||||
StartupInfo.dwFlags = STARTF_SCRNSAVER;
|
StartupInfo.dwFlags = STARTF_SCRNSAVER;
|
||||||
|
|
||||||
/* FIXME: run the screen saver on the screen saver desktop */
|
/* FIXME: run the screen saver on the screen saver desktop */
|
||||||
ret = CreateProcessW(
|
ret = CreateProcessW(szApplicationName,
|
||||||
szApplicationName,
|
|
||||||
szCommandLine,
|
szCommandLine,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
|
@ -328,6 +338,7 @@ StartScreenSaver(
|
||||||
ERR("WL: Unable to start %S, error %lu\n", szApplicationName, GetLastError());
|
ERR("WL: Unable to start %S, error %lu\n", szApplicationName, GetLastError());
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
CloseHandle(ProcessInformation.hThread);
|
CloseHandle(ProcessInformation.hThread);
|
||||||
|
|
||||||
SystemParametersInfoW(SPI_SETSCREENSAVERRUNNING, TRUE, NULL, 0);
|
SystemParametersInfoW(SPI_SETSCREENSAVERRUNNING, TRUE, NULL, 0);
|
||||||
|
@ -342,6 +353,7 @@ StartScreenSaver(
|
||||||
/* Kill the screen saver */
|
/* Kill the screen saver */
|
||||||
TerminateProcess(ProcessInformation.hProcess, 0);
|
TerminateProcess(ProcessInformation.hProcess, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
SetEvent(Session->hEndOfScreenSaver);
|
SetEvent(Session->hEndOfScreenSaver);
|
||||||
|
|
||||||
CloseHandle(ProcessInformation.hProcess);
|
CloseHandle(ProcessInformation.hProcess);
|
||||||
|
@ -350,8 +362,10 @@ cleanup:
|
||||||
RevertToSelf();
|
RevertToSelf();
|
||||||
if (hKey)
|
if (hKey)
|
||||||
RegCloseKey(hKey);
|
RegCloseKey(hKey);
|
||||||
|
|
||||||
if (hCurrentUser)
|
if (hCurrentUser)
|
||||||
RegCloseKey(hCurrentUser);
|
RegCloseKey(hCurrentUser);
|
||||||
|
|
||||||
if (!ret)
|
if (!ret)
|
||||||
{
|
{
|
||||||
PostMessageW(Session->SASWindow, WLX_WM_SAS, WLX_SAS_TYPE_SCRNSVR_ACTIVITY, 0);
|
PostMessageW(Session->SASWindow, WLX_WM_SAS, WLX_SAS_TYPE_SCRNSVR_ACTIVITY, 0);
|
||||||
|
|
|
@ -26,8 +26,7 @@ GetSetupType(VOID)
|
||||||
TRACE("GetSetupType()\n");
|
TRACE("GetSetupType()\n");
|
||||||
|
|
||||||
/* Open key */
|
/* Open key */
|
||||||
dwError = RegOpenKeyExW(
|
dwError = RegOpenKeyExW(HKEY_LOCAL_MACHINE,
|
||||||
HKEY_LOCAL_MACHINE,
|
|
||||||
L"SYSTEM\\Setup",
|
L"SYSTEM\\Setup",
|
||||||
0,
|
0,
|
||||||
KEY_QUERY_VALUE,
|
KEY_QUERY_VALUE,
|
||||||
|
@ -37,8 +36,7 @@ GetSetupType(VOID)
|
||||||
|
|
||||||
/* Read key */
|
/* Read key */
|
||||||
dwSize = sizeof(DWORD);
|
dwSize = sizeof(DWORD);
|
||||||
dwError = RegQueryValueExW(
|
dwError = RegQueryValueExW(hKey,
|
||||||
hKey,
|
|
||||||
L"SetupType",
|
L"SetupType",
|
||||||
NULL,
|
NULL,
|
||||||
&dwType,
|
&dwType,
|
||||||
|
@ -54,9 +52,11 @@ GetSetupType(VOID)
|
||||||
return dwSetupType;
|
return dwSetupType;
|
||||||
}
|
}
|
||||||
|
|
||||||
static DWORD WINAPI
|
|
||||||
RunSetupThreadProc(
|
static
|
||||||
IN LPVOID lpParameter)
|
DWORD
|
||||||
|
WINAPI
|
||||||
|
RunSetupThreadProc(IN LPVOID lpParameter)
|
||||||
{
|
{
|
||||||
PROCESS_INFORMATION ProcessInformation;
|
PROCESS_INFORMATION ProcessInformation;
|
||||||
STARTUPINFOW StartupInfo;
|
STARTUPINFOW StartupInfo;
|
||||||
|
@ -72,8 +72,7 @@ RunSetupThreadProc(
|
||||||
TRACE("RunSetup() called\n");
|
TRACE("RunSetup() called\n");
|
||||||
|
|
||||||
/* Open key */
|
/* Open key */
|
||||||
dwError = RegOpenKeyExW(
|
dwError = RegOpenKeyExW(HKEY_LOCAL_MACHINE,
|
||||||
HKEY_LOCAL_MACHINE,
|
|
||||||
L"SYSTEM\\Setup",
|
L"SYSTEM\\Setup",
|
||||||
0,
|
0,
|
||||||
KEY_QUERY_VALUE,
|
KEY_QUERY_VALUE,
|
||||||
|
@ -83,8 +82,7 @@ RunSetupThreadProc(
|
||||||
|
|
||||||
/* Read key */
|
/* Read key */
|
||||||
dwSize = (sizeof(Shell) / sizeof(Shell[0])) - 1;
|
dwSize = (sizeof(Shell) / sizeof(Shell[0])) - 1;
|
||||||
dwError = RegQueryValueExW(
|
dwError = RegQueryValueExW(hKey,
|
||||||
hKey,
|
|
||||||
L"CmdLine",
|
L"CmdLine",
|
||||||
NULL,
|
NULL,
|
||||||
&dwType,
|
&dwType,
|
||||||
|
@ -115,8 +113,8 @@ RunSetupThreadProc(
|
||||||
StartupInfo.dwFlags = 0;
|
StartupInfo.dwFlags = 0;
|
||||||
StartupInfo.cbReserved2 = 0;
|
StartupInfo.cbReserved2 = 0;
|
||||||
StartupInfo.lpReserved2 = 0;
|
StartupInfo.lpReserved2 = 0;
|
||||||
Result = CreateProcessW(
|
|
||||||
NULL,
|
Result = CreateProcessW(NULL,
|
||||||
CommandLine,
|
CommandLine,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
|
@ -146,12 +144,19 @@ RunSetupThreadProc(
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
RunSetup(VOID)
|
RunSetup(VOID)
|
||||||
{
|
{
|
||||||
HANDLE hThread;
|
HANDLE hThread;
|
||||||
|
|
||||||
hThread = CreateThread(NULL, 0, RunSetupThreadProc, NULL, 0, NULL);
|
hThread = CreateThread(NULL,
|
||||||
|
0,
|
||||||
|
RunSetupThreadProc,
|
||||||
|
NULL,
|
||||||
|
0,
|
||||||
|
NULL);
|
||||||
|
|
||||||
return hThread != NULL;
|
return hThread != NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,8 @@ PWLSESSION WLSession = NULL;
|
||||||
|
|
||||||
/* FUNCTIONS *****************************************************************/
|
/* FUNCTIONS *****************************************************************/
|
||||||
|
|
||||||
static BOOL
|
static
|
||||||
|
BOOL
|
||||||
StartServicesManager(VOID)
|
StartServicesManager(VOID)
|
||||||
{
|
{
|
||||||
STARTUPINFOW StartupInfo;
|
STARTUPINFOW StartupInfo;
|
||||||
|
@ -41,8 +42,7 @@ StartServicesManager(VOID)
|
||||||
|
|
||||||
TRACE("WL: Creating new process - %S\n", ServiceString);
|
TRACE("WL: Creating new process - %S\n", ServiceString);
|
||||||
|
|
||||||
res = CreateProcessW(
|
res = CreateProcessW(ServiceString,
|
||||||
ServiceString,
|
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
|
@ -69,7 +69,8 @@ StartServicesManager(VOID)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static BOOL
|
static
|
||||||
|
BOOL
|
||||||
StartLsass(VOID)
|
StartLsass(VOID)
|
||||||
{
|
{
|
||||||
STARTUPINFOW StartupInfo;
|
STARTUPINFOW StartupInfo;
|
||||||
|
@ -89,8 +90,7 @@ StartLsass(VOID)
|
||||||
|
|
||||||
TRACE("WL: Creating new process - %S\n", ServiceString);
|
TRACE("WL: Creating new process - %S\n", ServiceString);
|
||||||
|
|
||||||
res = CreateProcessW(
|
res = CreateProcessW(ServiceString,
|
||||||
ServiceString,
|
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
|
@ -110,7 +110,8 @@ StartLsass(VOID)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static VOID
|
static
|
||||||
|
VOID
|
||||||
WaitForLsass(VOID)
|
WaitForLsass(VOID)
|
||||||
{
|
{
|
||||||
HANDLE hEvent;
|
HANDLE hEvent;
|
||||||
|
@ -146,8 +147,9 @@ WaitForLsass(VOID)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static BOOL
|
static
|
||||||
InitKeyboardLayouts()
|
BOOL
|
||||||
|
InitKeyboardLayouts(VOID)
|
||||||
{
|
{
|
||||||
WCHAR wszKeyName[12], wszKLID[10];
|
WCHAR wszKeyName[12], wszKLID[10];
|
||||||
DWORD dwSize = sizeof(wszKLID), dwType, i = 1;
|
DWORD dwSize = sizeof(wszKLID), dwType, i = 1;
|
||||||
|
@ -211,8 +213,7 @@ InitKeyboardLayouts()
|
||||||
|
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
DisplayStatusMessage(
|
DisplayStatusMessage(IN PWLSESSION Session,
|
||||||
IN PWLSESSION Session,
|
|
||||||
IN HDESK hDesktop,
|
IN HDESK hDesktop,
|
||||||
IN UINT ResourceId)
|
IN UINT ResourceId)
|
||||||
{
|
{
|
||||||
|
@ -230,9 +231,9 @@ DisplayStatusMessage(
|
||||||
return Session->Gina.Functions.WlxDisplayStatusMessage(Session->Gina.Context, hDesktop, 0, NULL, StatusMsg);
|
return Session->Gina.Functions.WlxDisplayStatusMessage(Session->Gina.Context, hDesktop, 0, NULL, StatusMsg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
RemoveStatusMessage(
|
RemoveStatusMessage(IN PWLSESSION Session)
|
||||||
IN PWLSESSION Session)
|
|
||||||
{
|
{
|
||||||
if (Session->Gina.Version < WLX_VERSION_1_3)
|
if (Session->Gina.Version < WLX_VERSION_1_3)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
@ -240,9 +241,11 @@ RemoveStatusMessage(
|
||||||
return Session->Gina.Functions.WlxRemoveStatusMessage(Session->Gina.Context);
|
return Session->Gina.Functions.WlxRemoveStatusMessage(Session->Gina.Context);
|
||||||
}
|
}
|
||||||
|
|
||||||
static INT_PTR CALLBACK
|
|
||||||
GinaLoadFailedWindowProc(
|
static
|
||||||
IN HWND hwndDlg,
|
INT_PTR
|
||||||
|
CALLBACK
|
||||||
|
GinaLoadFailedWindowProc(IN HWND hwndDlg,
|
||||||
IN UINT uMsg,
|
IN UINT uMsg,
|
||||||
IN WPARAM wParam,
|
IN WPARAM wParam,
|
||||||
IN LPARAM lParam)
|
IN LPARAM lParam)
|
||||||
|
@ -259,6 +262,7 @@ GinaLoadFailedWindowProc(
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case WM_INITDIALOG:
|
case WM_INITDIALOG:
|
||||||
{
|
{
|
||||||
int len;
|
int len;
|
||||||
|
@ -270,9 +274,11 @@ GinaLoadFailedWindowProc(
|
||||||
wsprintfW(text, templateText, (LPWSTR)lParam);
|
wsprintfW(text, templateText, (LPWSTR)lParam);
|
||||||
SetDlgItemTextW(hwndDlg, IDC_GINALOADFAILED, text);
|
SetDlgItemTextW(hwndDlg, IDC_GINALOADFAILED, text);
|
||||||
}
|
}
|
||||||
|
|
||||||
SetFocus(GetDlgItem(hwndDlg, IDOK));
|
SetFocus(GetDlgItem(hwndDlg, IDOK));
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
case WM_CLOSE:
|
case WM_CLOSE:
|
||||||
{
|
{
|
||||||
EndDialog(hwndDlg, IDCANCEL);
|
EndDialog(hwndDlg, IDCANCEL);
|
||||||
|
@ -283,9 +289,10 @@ GinaLoadFailedWindowProc(
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
int WINAPI
|
|
||||||
WinMain(
|
int
|
||||||
IN HINSTANCE hInstance,
|
WINAPI
|
||||||
|
WinMain(IN HINSTANCE hInstance,
|
||||||
IN HINSTANCE hPrevInstance,
|
IN HINSTANCE hPrevInstance,
|
||||||
IN LPSTR lpCmdLine,
|
IN LPSTR lpCmdLine,
|
||||||
IN int nShowCmd)
|
IN int nShowCmd)
|
||||||
|
@ -321,6 +328,7 @@ WinMain(
|
||||||
NtRaiseHardError(STATUS_SYSTEM_PROCESS_TERMINATED, 0, 0, NULL, OptionOk, &HardErrorResponse);
|
NtRaiseHardError(STATUS_SYSTEM_PROCESS_TERMINATED, 0, 0, NULL, OptionOk, &HardErrorResponse);
|
||||||
ExitProcess(1);
|
ExitProcess(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
ZeroMemory(WLSession, sizeof(WLSESSION));
|
ZeroMemory(WLSession, sizeof(WLSESSION));
|
||||||
WLSession->DialogTimeout = 120; /* 2 minutes */
|
WLSession->DialogTimeout = 120; /* 2 minutes */
|
||||||
|
|
||||||
|
@ -330,6 +338,7 @@ WinMain(
|
||||||
NtRaiseHardError(STATUS_SYSTEM_PROCESS_TERMINATED, 0, 0, NULL, OptionOk, &HardErrorResponse);
|
NtRaiseHardError(STATUS_SYSTEM_PROCESS_TERMINATED, 0, 0, NULL, OptionOk, &HardErrorResponse);
|
||||||
ExitProcess(1);
|
ExitProcess(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
LockWorkstation(WLSession);
|
LockWorkstation(WLSession);
|
||||||
|
|
||||||
/* Load default keyboard layouts */
|
/* Load default keyboard layouts */
|
||||||
|
@ -365,7 +374,6 @@ WinMain(
|
||||||
|
|
||||||
DisplayStatusMessage(WLSession, WLSession->WinlogonDesktop, IDS_REACTOSISSTARTINGUP);
|
DisplayStatusMessage(WLSession, WLSession->WinlogonDesktop, IDS_REACTOSISSTARTINGUP);
|
||||||
|
|
||||||
|
|
||||||
/* Wait for the LSA server */
|
/* Wait for the LSA server */
|
||||||
WaitForLsass();
|
WaitForLsass();
|
||||||
|
|
||||||
|
@ -383,8 +391,10 @@ WinMain(
|
||||||
ERR("RtlAdjustPrivilege() failed with error %lu\n", LsaNtStatusToWinError(Status));
|
ERR("RtlAdjustPrivilege() failed with error %lu\n", LsaNtStatusToWinError(Status));
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
Status = LsaRegisterLogonProcess(&ProcessName, &LsaHandle, &Mode);
|
Status = LsaRegisterLogonProcess(&ProcessName, &LsaHandle, &Mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!NT_SUCCESS(Status))
|
if (!NT_SUCCESS(Status))
|
||||||
{
|
{
|
||||||
ERR("LsaRegisterLogonProcess() failed with error %lu\n", LsaNtStatusToWinError(Status));
|
ERR("LsaRegisterLogonProcess() failed with error %lu\n", LsaNtStatusToWinError(Status));
|
||||||
|
|
|
@ -262,51 +262,42 @@ CreateUserEnvironment(IN PWLSESSION Session);
|
||||||
|
|
||||||
/* sas.c */
|
/* sas.c */
|
||||||
BOOL
|
BOOL
|
||||||
SetDefaultLanguage(
|
SetDefaultLanguage(IN BOOL UserProfile);
|
||||||
IN BOOL UserProfile);
|
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
InitializeSAS(
|
InitializeSAS(IN OUT PWLSESSION Session);
|
||||||
IN OUT PWLSESSION Session);
|
|
||||||
|
|
||||||
/* screensaver.c */
|
/* screensaver.c */
|
||||||
BOOL
|
BOOL
|
||||||
InitializeScreenSaver(
|
InitializeScreenSaver(IN OUT PWLSESSION Session);
|
||||||
IN OUT PWLSESSION Session);
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
StartScreenSaver(
|
StartScreenSaver(IN PWLSESSION Session);
|
||||||
IN PWLSESSION Session);
|
|
||||||
|
|
||||||
/* winlogon.c */
|
/* winlogon.c */
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
PlaySoundRoutine(
|
PlaySoundRoutine(IN LPCWSTR FileName,
|
||||||
IN LPCWSTR FileName,
|
|
||||||
IN UINT Logon,
|
IN UINT Logon,
|
||||||
IN UINT Flags);
|
IN UINT Flags);
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
DisplayStatusMessage(
|
DisplayStatusMessage(IN PWLSESSION Session,
|
||||||
IN PWLSESSION Session,
|
|
||||||
IN HDESK hDesktop,
|
IN HDESK hDesktop,
|
||||||
IN UINT ResourceId);
|
IN UINT ResourceId);
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
RemoveStatusMessage(
|
RemoveStatusMessage(IN PWLSESSION Session);
|
||||||
IN PWLSESSION Session);
|
|
||||||
|
|
||||||
/* wlx.c */
|
/* wlx.c */
|
||||||
BOOL
|
BOOL
|
||||||
GinaInit(
|
GinaInit(IN OUT PWLSESSION Session);
|
||||||
IN OUT PWLSESSION Session);
|
|
||||||
BOOL
|
BOOL
|
||||||
CreateWindowStationAndDesktops(
|
CreateWindowStationAndDesktops(IN OUT PWLSESSION Session);
|
||||||
IN OUT PWLSESSION Session);
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
HandleShutdown(
|
HandleShutdown(IN OUT PWLSESSION Session,
|
||||||
IN OUT PWLSESSION Session,
|
|
||||||
IN DWORD wlxAction);
|
IN DWORD wlxAction);
|
||||||
|
|
||||||
VOID WINAPI WlxUseCtrlAltDel(HANDLE hWlx);
|
VOID WINAPI WlxUseCtrlAltDel(HANDLE hWlx);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue