mirror of
https://github.com/reactos/reactos.git
synced 2025-02-24 09:25:10 +00:00
[USER32]
- On Win2k3, the EXIT_(ROS)_EX csr message has 3 parameters, instead of 2 (as on win2k), and the dwReserved is in fact unused. [USERSRV] - Add CSR shutdown callback UserClientShutdown (stub). [CONSRV|USERSRV] - The CSR shutdown callbacks are just stubs currently. Part 5/X CORE-8322 svn path=/trunk/; revision=65528
This commit is contained in:
parent
e85718fec8
commit
bac6bdb719
7 changed files with 36 additions and 9 deletions
|
@ -38,8 +38,9 @@ typedef enum _USERSRV_API_NUMBER
|
|||
|
||||
typedef struct _USER_EXIT_REACTOS
|
||||
{
|
||||
UINT Flags;
|
||||
DWORD Reserved;
|
||||
DWORD LastError;
|
||||
UINT Flags;
|
||||
BOOL Success;
|
||||
} USER_EXIT_REACTOS, *PUSER_EXIT_REACTOS;
|
||||
|
||||
typedef struct _USER_END_TASK
|
||||
|
|
|
@ -60,6 +60,7 @@
|
|||
* - when every environment subsystem has gone to bed, the SM actually initiates
|
||||
* the kernel and executive shutdown by calling NtShutdownSystem.
|
||||
*/
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
|
@ -71,7 +72,7 @@ ExitWindowsEx(UINT uFlags,
|
|||
USER_API_MESSAGE ApiMessage;
|
||||
|
||||
ApiMessage.Data.ExitReactosRequest.Flags = uFlags;
|
||||
ApiMessage.Data.ExitReactosRequest.Reserved = dwReserved;
|
||||
// ApiMessage.Data.ExitReactosRequest.Reserved = dwReserved;
|
||||
|
||||
Status = CsrClientCallServer((PCSR_API_MESSAGE)&ApiMessage,
|
||||
NULL,
|
||||
|
@ -79,7 +80,7 @@ ExitWindowsEx(UINT uFlags,
|
|||
sizeof(USER_EXIT_REACTOS));
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
SetLastError(RtlNtStatusToDosError(Status));
|
||||
UserSetLastNTError(Status);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
|
|
@ -24,6 +24,8 @@ ConsoleClientShutdown(IN PCSR_PROCESS CsrProcess,
|
|||
{
|
||||
PCONSOLE_PROCESS_DATA ProcessData = ConsoleGetPerProcessData(CsrProcess);
|
||||
|
||||
UNIMPLEMENTED;
|
||||
|
||||
if ( ProcessData->ConsoleHandle != NULL ||
|
||||
ProcessData->HandleTable != NULL )
|
||||
{
|
||||
|
|
|
@ -16,14 +16,22 @@ CSR_API(SrvGetThreadConsoleDesktop);
|
|||
CSR_API(SrvDeviceEvent);
|
||||
|
||||
/* harderror.c */
|
||||
VOID WINAPI UserServerHardError(IN PCSR_THREAD ThreadData,
|
||||
IN PHARDERROR_MSG Message);
|
||||
VOID
|
||||
NTAPI
|
||||
UserServerHardError(IN PCSR_THREAD ThreadData,
|
||||
IN PHARDERROR_MSG Message);
|
||||
|
||||
/* register.c */
|
||||
CSR_API(SrvRegisterServicesProcess);
|
||||
CSR_API(SrvRegisterLogonProcess);
|
||||
|
||||
/* shutdown.c */
|
||||
ULONG
|
||||
NTAPI
|
||||
UserClientShutdown(IN PCSR_PROCESS CsrProcess,
|
||||
IN ULONG Flags,
|
||||
IN BOOLEAN FirstPhase);
|
||||
|
||||
CSR_API(SrvExitWindowsEx);
|
||||
CSR_API(SrvEndTask);
|
||||
CSR_API(SrvLogon);
|
||||
|
|
|
@ -510,7 +510,7 @@ UserpMessageBox(
|
|||
}
|
||||
|
||||
VOID
|
||||
WINAPI
|
||||
NTAPI
|
||||
UserServerHardError(
|
||||
IN PCSR_THREAD ThreadData,
|
||||
IN PHARDERROR_MSG Message)
|
||||
|
|
|
@ -151,7 +151,7 @@ CSR_SERVER_DLL_INIT(UserServerDllInitialization)
|
|||
UserServerHeap = RtlGetProcessHeap();
|
||||
|
||||
/* Initialize the video */
|
||||
NtUserInitialize(0, NULL, NULL); //
|
||||
NtUserInitialize(0, NULL, NULL);
|
||||
PrivateCsrssManualGuiCheck(0);
|
||||
|
||||
/* Setup the DLL Object */
|
||||
|
@ -166,7 +166,7 @@ CSR_SERVER_DLL_INIT(UserServerDllInitialization)
|
|||
LoadedServerDll->ConnectCallback = NULL;
|
||||
LoadedServerDll->DisconnectCallback = NULL;
|
||||
LoadedServerDll->HardErrorCallback = UserServerHardError;
|
||||
LoadedServerDll->ShutdownProcessCallback = NULL;
|
||||
LoadedServerDll->ShutdownProcessCallback = UserClientShutdown;
|
||||
|
||||
UserServerDllInstance = LoadedServerDll->ServerHandle;
|
||||
|
||||
|
|
|
@ -919,6 +919,21 @@ UserExitReactos(DWORD UserProcessId, UINT Flags)
|
|||
}
|
||||
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
UserClientShutdown(IN PCSR_PROCESS CsrProcess,
|
||||
IN ULONG Flags,
|
||||
IN BOOLEAN FirstPhase)
|
||||
{
|
||||
DPRINT1("UserClientShutdown(0x%p, 0x%x, %s)\n",
|
||||
CsrProcess, Flags, FirstPhase ? "FirstPhase" : "LastPhase");
|
||||
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return CsrShutdownNonCsrProcess;
|
||||
}
|
||||
|
||||
|
||||
/* PUBLIC SERVER APIS *********************************************************/
|
||||
|
||||
CSR_API(SrvExitWindowsEx)
|
||||
|
|
Loading…
Reference in a new issue