-/* $Id: create.c,v 1.36 2001/08/03 17:15:00 ekohl Exp $
+/* $Id: create.c,v 1.37 2001/08/07 14:01:42 ekohl Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
}
#endif
-VOID
+VOID STDCALL
PiDeleteThread(PVOID ObjectBody)
{
KIRQL oldIrql;
DPRINT("PiDeleteThread() finished\n");
}
-VOID
+VOID STDCALL
PiCloseThread(PVOID ObjectBody,
ULONG HandleCount)
{
&TebBase,
0,
&TebSize,
- MEM_COMMIT,
+ MEM_RESERVE | MEM_COMMIT,
PAGE_READWRITE);
if (NT_SUCCESS(Status))
{
}
-NTSTATUS STDCALL
+NTSTATUS STDCALL
NtCreateThread (PHANDLE ThreadHandle,
ACCESS_MASK DesiredAccess,
POBJECT_ATTRIBUTES ObjectAttributes,
DPRINT("NtCreateThread(ThreadHandle %x, PCONTEXT %x)\n",
ThreadHandle,ThreadContext);
- Status = PsInitializeThread(ProcessHandle,&Thread,ThreadHandle,
- DesiredAccess,ObjectAttributes, FALSE);
+ Status = PsInitializeThread(ProcessHandle,
+ &Thread,
+ ThreadHandle,
+ DesiredAccess,
+ ObjectAttributes,
+ FALSE);
if (!NT_SUCCESS(Status))
{
return(Status);
}
-
-#if 0
- Status = NtWriteVirtualMemory(ProcessHandle,
- (PVOID)(((ULONG)ThreadContext->Esp) - 8),
- &ThreadContext->Eip,
- sizeof(ULONG),
- &Length);
- if (!NT_SUCCESS(Status))
- {
- DPRINT1("NtWriteVirtualMemory failed\n");
- KeBugCheck(0);
- }
- ThreadContext->Eip = LdrpGetSystemDllEntryPoint;
-#endif
- Status = Ke386InitThreadWithContext(&Thread->Tcb, ThreadContext);
+ Status = Ke386InitThreadWithContext(&Thread->Tcb,
+ ThreadContext);
if (!NT_SUCCESS(Status))
{
return(Status);
}
-
- Status = PsCreateTeb (ProcessHandle,
- &TebBase,
- Thread,
- InitialTeb);
+
+ Status = PsCreateTeb(ProcessHandle,
+ &TebBase,
+ Thread,
+ InitialTeb);
if (!NT_SUCCESS(Status))
{
return(Status);
}
-
+
/* Attention: TebBase is in user memory space */
Thread->Tcb.Teb = TebBase;
}
-NTSTATUS STDCALL
+NTSTATUS STDCALL
PsCreateSystemThread(PHANDLE ThreadHandle,
ACCESS_MASK DesiredAccess,
POBJECT_ATTRIBUTES ObjectAttributes,
DPRINT("PsCreateSystemThread(ThreadHandle %x, ProcessHandle %x)\n",
ThreadHandle,ProcessHandle);
- Status = PsInitializeThread(ProcessHandle,&Thread,ThreadHandle,
- DesiredAccess,ObjectAttributes, FALSE);
+ Status = PsInitializeThread(ProcessHandle,
+ &Thread,
+ ThreadHandle,
+ DesiredAccess,
+ ObjectAttributes,
+ FALSE);
if (!NT_SUCCESS(Status))
{
return(Status);
}
Thread->StartAddress=StartRoutine;
- Status = Ke386InitThread(&Thread->Tcb, StartRoutine, StartContext);
+ Status = Ke386InitThread(&Thread->Tcb,
+ StartRoutine,
+ StartContext);
if (!NT_SUCCESS(Status))
{
return(Status);
-/* $Id: process.c,v 1.65 2001/06/16 14:11:15 ekohl Exp $
+/* $Id: process.c,v 1.66 2001/08/07 14:01:42 ekohl Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
return(NextProcess);
}
+
NTSTATUS STDCALL
NtOpenProcessToken(IN HANDLE ProcessHandle,
IN ACCESS_MASK DesiredAccess,
return(Status);
}
+
PACCESS_TOKEN STDCALL
PsReferencePrimaryToken(PEPROCESS Process)
{
return(Process->Token);
}
+
NTSTATUS
PsOpenTokenOfProcess(HANDLE ProcessHandle,
PACCESS_TOKEN* Token)
return(STATUS_SUCCESS);
}
+
VOID
PiKillMostProcesses(VOID)
{
KeReleaseSpinLock(&PsProcessListLock, oldIrql);
}
-VOID PsInitProcessManagment(VOID)
+
+VOID
+PsInitProcessManagment(VOID)
{
PKPROCESS KProcess;
&SystemProcessHandle);
}
-VOID PiDeleteProcess(PVOID ObjectBody)
+
+VOID
+PiDeleteProcess(PVOID ObjectBody)
{
KIRQL oldIrql;
}
-static NTSTATUS PsCreatePeb(HANDLE ProcessHandle,
- PVOID ImageBase,
- PVOID* RPeb)
+static NTSTATUS
+PsCreatePeb(HANDLE ProcessHandle,
+ PVOID ImageBase,
+ PVOID* RPeb)
{
NTSTATUS Status;
PVOID PebBase;
&PebBase,
0,
&PebSize,
- MEM_COMMIT,
+ MEM_RESERVE | MEM_COMMIT,
PAGE_READWRITE);
if (!NT_SUCCESS(Status))
{
return(Status);
}
- ZwWriteVirtualMemory(ProcessHandle,
+ NtWriteVirtualMemory(ProcessHandle,
(PVOID)PEB_BASE,
&Peb,
sizeof(Peb),