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>
18 ExitWindowsEx(UINT uFlags,
21 CSRSS_API_REQUEST Request;
22 CSRSS_API_REPLY Reply;
25 Request.Type = CSRSS_EXIT_REACTOS;
26 Request.Data.ExitReactosRequest.Flags = uFlags;
27 Request.Data.ExitReactosRequest.Reserved = dwReserved;
29 Status = CsrClientCallServer(&Request,
31 sizeof(CSRSS_API_REQUEST),
32 sizeof(CSRSS_API_REPLY));
33 if (!NT_SUCCESS(Status) || !NT_SUCCESS(Status = Reply.Status))
35 SetLastError(RtlNtStatusToDosError(Status));
44 RegisterServicesProcess(DWORD ServicesProcessId)
46 CSRSS_API_REQUEST Request;
47 CSRSS_API_REPLY Reply;
50 Request.Type = CSRSS_REGISTER_SERVICES_PROCESS;
51 Request.Data.RegisterServicesProcessRequest.ProcessId = ServicesProcessId;
53 Status = CsrClientCallServer(&Request,
55 sizeof(CSRSS_API_REQUEST),
56 sizeof(CSRSS_API_REPLY));
57 if (!NT_SUCCESS(Status) || !NT_SUCCESS(Status = Reply.Status))
59 SetLastError(RtlNtStatusToDosError(Status));