3 * COPYRIGHT: See COPYING in the top level directory
4 * PROJECT: ReactOS user32.dll
5 * FILE: lib/user32/misc/exit.c
6 * PURPOSE: Shutdown related functions
7 * PROGRAMMER: Eric Kohl (ekohl@rz-online.de)
13 #include <ntdll/csr.h>
19 ExitWindowsEx(UINT uFlags,
22 CSRSS_API_REQUEST Request;
23 CSRSS_API_REPLY Reply;
26 Request.Type = CSRSS_EXIT_REACTOS;
27 Request.Data.ExitReactosRequest.Flags = uFlags;
28 Request.Data.ExitReactosRequest.Reserved = dwReserved;
30 Status = CsrClientCallServer(&Request,
32 sizeof(CSRSS_API_REQUEST),
33 sizeof(CSRSS_API_REPLY));
34 if (!NT_SUCCESS(Status) || !NT_SUCCESS(Status = Reply.Status))
36 SetLastError(RtlNtStatusToDosError(Status));
48 RegisterServicesProcess(DWORD ServicesProcessId)
50 CSRSS_API_REQUEST Request;
51 CSRSS_API_REPLY Reply;
54 Request.Type = CSRSS_REGISTER_SERVICES_PROCESS;
55 Request.Data.RegisterServicesProcessRequest.ProcessId = ServicesProcessId;
57 Status = CsrClientCallServer(&Request,
59 sizeof(CSRSS_API_REQUEST),
60 sizeof(CSRSS_API_REPLY));
61 if (!NT_SUCCESS(Status) || !NT_SUCCESS(Status = Reply.Status))
63 SetLastError(RtlNtStatusToDosError(Status));