3 * subsys/csr/csrsrv/process.c - CSR server - process management
5 * ReactOS Operating System
7 * --------------------------------------------------------------------
9 * This software is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of the
12 * License, or (at your option) any later version.
14 * This software is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * Library General Public License for more details.
19 * You should have received a copy of the GNU General Public License
20 * along with this software; see the file COPYING.LIB. If not, write
21 * to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
24 * --------------------------------------------------------------------
34 RTL_CRITICAL_SECTION Lock
;
39 NTSTATUS STDCALL
CsrSrvInitializeProcess (VOID
)
41 NTSTATUS Status
= STATUS_NOT_IMPLEMENTED
;
43 DPRINT("CSRSRV: %s called\n", __FUNCTION__
);
45 Status
= RtlInitializeCriticalSection (& Process
.Lock
);
46 if(NT_SUCCESS(Status
))
48 // more process management initialization
53 /*=====================================================================
55 *===================================================================*/
57 NTSTATUS STDCALL
CsrCreateProcess (PCSR_SESSION pCsrSession
, PCSR_PROCESS
* ppCsrProcess
)
59 NTSTATUS Status
= STATUS_SUCCESS
;
60 PCSR_PROCESS pCsrProcess
= NULL
;
62 DPRINT("CSRSRV: %s called\n", __FUNCTION__
);
64 pCsrProcess
= RtlAllocateHeap (pCsrSession
->Heap
,
66 sizeof (CSR_PROCESS
));
67 if (NULL
== pCsrProcess
)
69 Status
= STATUS_NO_MEMORY
;
71 pCsrProcess
->NtSession
= pCsrSession
;
72 if (NULL
!= ppCsrProcess
)
74 *ppCsrProcess
= pCsrProcess
;
80 NTSTATUS STDCALL
CsrDereferenceProcess (PCSR_PROCESS pCsrProcess
)
82 NTSTATUS Status
= STATUS_NOT_IMPLEMENTED
;
84 DPRINT("CSRSRV: %s called\n", __FUNCTION__
);
88 NTSTATUS STDCALL
CsrDestroyProcess (PCSR_PROCESS pCsrProcess
)
90 NTSTATUS Status
= STATUS_NOT_IMPLEMENTED
;
92 DPRINT("CSRSRV: %s called\n", __FUNCTION__
);
96 NTSTATUS STDCALL
CsrGetProcessLuid (PCSR_PROCESS pCsrProcess
, PLUID pLuid
)
98 NTSTATUS Status
= STATUS_NOT_IMPLEMENTED
;
100 DPRINT("CSRSRV: %s called\n", __FUNCTION__
);
104 NTSTATUS STDCALL
CsrLockProcessByClientId ()
106 NTSTATUS Status
= STATUS_NOT_IMPLEMENTED
;
108 DPRINT("CSRSRV: %s called\n", __FUNCTION__
);
112 NTSTATUS STDCALL
CsrShutdownProcesses (PCSR_SESSION pCsrSession OPTIONAL
)
114 NTSTATUS Status
= STATUS_NOT_IMPLEMENTED
;
116 DPRINT("CSRSRV: %s called\n", __FUNCTION__
);
118 if (NULL
== pCsrSession
)
120 // TODO: shutdown every session
122 // TODO: shutdown every process in pCsrSession
127 NTSTATUS STDCALL
CsrUnlockProcess (PCSR_PROCESS pCsrProcess
)
129 NTSTATUS Status
= STATUS_NOT_IMPLEMENTED
;
131 DPRINT("CSRSRV: %s called\n", __FUNCTION__
);