2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS user32.dll
4 * FILE: win32ss/user/user32/misc/logon.c
5 * PURPOSE: Logon functions
6 * PROGRAMMER: Thomas Weidenmueller (w3seek@users.sourceforge.net)
11 WINE_DEFAULT_DEBUG_CHANNEL(user32
);
18 RegisterServicesProcess(DWORD ServicesProcessId
)
20 USER_API_MESSAGE ApiMessage
;
21 PUSER_REGISTER_SERVICES_PROCESS RegisterServicesProcessRequest
= &ApiMessage
.Data
.RegisterServicesProcessRequest
;
23 RegisterServicesProcessRequest
->ProcessId
= ServicesProcessId
;
25 CsrClientCallServer((PCSR_API_MESSAGE
)&ApiMessage
,
27 CSR_CREATE_API_NUMBER(USERSRV_SERVERDLL_INDEX
, UserpRegisterServicesProcess
),
28 sizeof(*RegisterServicesProcessRequest
));
29 if (!NT_SUCCESS(ApiMessage
.Status
))
31 UserSetLastNTError(ApiMessage
.Status
);
43 RegisterLogonProcess(DWORD dwProcessId
,
46 gfLogonProcess
= NtUserxRegisterLogonProcess(dwProcessId
, bRegister
);
50 USER_API_MESSAGE ApiMessage
;
51 PUSER_REGISTER_LOGON_PROCESS RegisterLogonProcessRequest
= &ApiMessage
.Data
.RegisterLogonProcessRequest
;
53 RegisterLogonProcessRequest
->ProcessId
= dwProcessId
;
54 RegisterLogonProcessRequest
->Register
= bRegister
;
56 CsrClientCallServer((PCSR_API_MESSAGE
)&ApiMessage
,
58 CSR_CREATE_API_NUMBER(USERSRV_SERVERDLL_INDEX
, UserpRegisterLogonProcess
),
59 sizeof(*RegisterLogonProcessRequest
));
60 if (!NT_SUCCESS(ApiMessage
.Status
))
62 ERR("Failed to register logon process with CSRSS\n");
63 UserSetLastNTError(ApiMessage
.Status
);
67 return gfLogonProcess
;
71 * Helper function used by SetWindowStationUser (see winsta.c)
76 USER_API_MESSAGE ApiMessage
;
77 PUSER_LOGON LogonRequest
= &ApiMessage
.Data
.LogonRequest
;
79 LogonRequest
->IsLogon
= IsLogon
;
80 CsrClientCallServer((PCSR_API_MESSAGE
)&ApiMessage
,
82 CSR_CREATE_API_NUMBER(USERSRV_SERVERDLL_INDEX
, UserpLogon
),
83 sizeof(*LogonRequest
));
91 SetLogonNotifyWindow(HWND Wnd
)
93 return NtUserSetLogonNotifyWindow(Wnd
);
101 UpdatePerUserSystemParameters(DWORD dwReserved
,
104 // Update Imm support and load Imm32.dll.
105 UpdatePerUserImmEnabling();
107 return NtUserUpdatePerUserSystemParameters(dwReserved
, bEnable
);