mirror of
https://github.com/reactos/reactos.git
synced 2025-08-04 23:55:41 +00:00
Implemented PsCreateSystemProcess()
svn path=/trunk/; revision=1815
This commit is contained in:
parent
71d0b655ac
commit
cb2396496c
4 changed files with 71 additions and 44 deletions
|
@ -1,4 +1,4 @@
|
|||
/* $Id: psfuncs.h,v 1.12 2000/12/22 13:29:48 ekohl Exp $
|
||||
/* $Id: psfuncs.h,v 1.13 2001/04/21 12:38:28 ekohl Exp $
|
||||
*/
|
||||
#ifndef _INCLUDE_DDK_PSFUNCS_H
|
||||
#define _INCLUDE_DDK_PSFUNCS_H
|
||||
|
@ -34,6 +34,10 @@ NTSTATUS STDCALL PsCreateSystemThread(PHANDLE ThreadHandle,
|
|||
PVOID StartContext);
|
||||
NTSTATUS STDCALL PsTerminateSystemThread(NTSTATUS ExitStatus);
|
||||
|
||||
NTSTATUS STDCALL PsCreateSystemProcess(PHANDLE ProcessHandle,
|
||||
ACCESS_MASK DesiredAccess,
|
||||
POBJECT_ATTRIBUTES ObjectAttributes);
|
||||
|
||||
struct _ETHREAD* STDCALL PsGetCurrentThread(VOID);
|
||||
struct _EPROCESS* STDCALL PsGetCurrentProcess(VOID);
|
||||
PACCESS_TOKEN STDCALL PsReferenceImpersonationToken(struct _ETHREAD* Thread,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; $Id: ntoskrnl.def,v 1.103 2001/04/16 00:48:04 chorns Exp $
|
||||
; $Id: ntoskrnl.def,v 1.104 2001/04/21 12:39:33 ekohl Exp $
|
||||
;
|
||||
; reactos/ntoskrnl/ntoskrnl.def
|
||||
;
|
||||
|
@ -586,7 +586,7 @@ PoUnregisterSystemState@4
|
|||
;ProbeForWrite@12
|
||||
PsAssignImpersonationToken@8
|
||||
;PsChargePoolQuota@12
|
||||
;PsCreateSystemProcess@12
|
||||
PsCreateSystemProcess@12
|
||||
PsCreateSystemThread@28
|
||||
;PsCreateWin32Process@4
|
||||
;PsEstablishWin32Callouts@24
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; $Id: ntoskrnl.edf,v 1.90 2001/04/16 00:48:04 chorns Exp $
|
||||
; $Id: ntoskrnl.edf,v 1.91 2001/04/21 12:39:33 ekohl Exp $
|
||||
;
|
||||
; reactos/ntoskrnl/ntoskrnl.def
|
||||
;
|
||||
|
@ -586,7 +586,7 @@ PoUnregisterSystemState=PoUnregisterSystemState@4
|
|||
;ProbeForWrite=ProbeForWrite@12
|
||||
PsAssignImpersonationToken=PsAssignImpersonationToken@8
|
||||
;PsChargePoolQuota=PsChargePoolQuota@12
|
||||
;PsCreateSystemProcess=PsCreateSystemProcess@12
|
||||
PsCreateSystemProcess=PsCreateSystemProcess@12
|
||||
PsCreateSystemThread=PsCreateSystemThread@28
|
||||
;PsCreateWin32Process
|
||||
;PsEstablishWin32Callouts
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: process.c,v 1.62 2001/04/16 16:29:03 dwelch Exp $
|
||||
/* $Id: process.c,v 1.63 2001/04/21 12:39:05 ekohl Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -296,7 +296,8 @@ static NTSTATUS PsCreatePeb(HANDLE ProcessHandle,
|
|||
}
|
||||
|
||||
|
||||
PKPROCESS KeGetCurrentProcess(VOID)
|
||||
PKPROCESS
|
||||
KeGetCurrentProcess(VOID)
|
||||
/*
|
||||
* FUNCTION: Returns a pointer to the current process
|
||||
*/
|
||||
|
@ -304,7 +305,8 @@ PKPROCESS KeGetCurrentProcess(VOID)
|
|||
return(&(PsGetCurrentProcess()->Pcb));
|
||||
}
|
||||
|
||||
HANDLE STDCALL PsGetCurrentProcessId(VOID)
|
||||
HANDLE STDCALL
|
||||
PsGetCurrentProcessId(VOID)
|
||||
{
|
||||
return((HANDLE)PsGetCurrentProcess()->UniqueProcessId);
|
||||
}
|
||||
|
@ -312,7 +314,8 @@ HANDLE STDCALL PsGetCurrentProcessId(VOID)
|
|||
/*
|
||||
* FUNCTION: Returns a pointer to the current process
|
||||
*/
|
||||
PEPROCESS STDCALL PsGetCurrentProcess(VOID)
|
||||
PEPROCESS STDCALL
|
||||
PsGetCurrentProcess(VOID)
|
||||
{
|
||||
if (PsGetCurrentThread() == NULL ||
|
||||
PsGetCurrentThread()->ThreadsProcess == NULL)
|
||||
|
@ -325,11 +328,27 @@ PEPROCESS STDCALL PsGetCurrentProcess(VOID)
|
|||
}
|
||||
}
|
||||
|
||||
PEPROCESS STDCALL IoGetCurrentProcess(VOID)
|
||||
PEPROCESS STDCALL
|
||||
IoGetCurrentProcess(VOID)
|
||||
{
|
||||
return(PsGetCurrentProcess());
|
||||
}
|
||||
|
||||
NTSTATUS STDCALL
|
||||
PsCreateSystemProcess(PHANDLE ProcessHandle,
|
||||
ACCESS_MASK DesiredAccess,
|
||||
POBJECT_ATTRIBUTES ObjectAttributes)
|
||||
{
|
||||
return NtCreateProcess(ProcessHandle,
|
||||
DesiredAccess,
|
||||
ObjectAttributes,
|
||||
SystemProcessHandle,
|
||||
FALSE,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL);
|
||||
}
|
||||
|
||||
NTSTATUS STDCALL
|
||||
NtCreateProcess(OUT PHANDLE ProcessHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
|
@ -573,7 +592,8 @@ NtCreateProcess (OUT PHANDLE ProcessHandle,
|
|||
}
|
||||
|
||||
|
||||
NTSTATUS STDCALL NtOpenProcess (OUT PHANDLE ProcessHandle,
|
||||
NTSTATUS STDCALL
|
||||
NtOpenProcess(OUT PHANDLE ProcessHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
IN PCLIENT_ID ClientId)
|
||||
|
@ -655,7 +675,8 @@ NTSTATUS STDCALL NtOpenProcess (OUT PHANDLE ProcessHandle,
|
|||
}
|
||||
|
||||
|
||||
NTSTATUS STDCALL NtQueryInformationProcess (IN HANDLE ProcessHandle,
|
||||
NTSTATUS STDCALL
|
||||
NtQueryInformationProcess(IN HANDLE ProcessHandle,
|
||||
IN CINT ProcessInformationClass,
|
||||
OUT PVOID ProcessInformation,
|
||||
IN ULONG ProcessInformationLength,
|
||||
|
@ -724,7 +745,8 @@ NTSTATUS STDCALL NtQueryInformationProcess (IN HANDLE ProcessHandle,
|
|||
return(Status);
|
||||
}
|
||||
|
||||
NTSTATUS PspAssignPrimaryToken(PEPROCESS Process,
|
||||
NTSTATUS
|
||||
PspAssignPrimaryToken(PEPROCESS Process,
|
||||
HANDLE TokenHandle)
|
||||
{
|
||||
PACCESS_TOKEN Token;
|
||||
|
@ -750,7 +772,8 @@ NTSTATUS PspAssignPrimaryToken(PEPROCESS Process,
|
|||
return(Status);
|
||||
}
|
||||
|
||||
NTSTATUS STDCALL NtSetInformationProcess(IN HANDLE ProcessHandle,
|
||||
NTSTATUS STDCALL
|
||||
NtSetInformationProcess(IN HANDLE ProcessHandle,
|
||||
IN CINT ProcessInformationClass,
|
||||
IN PVOID ProcessInformation,
|
||||
IN ULONG ProcessInformationLength)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue