5 * FUNCTION: Creates a thread which executes in kernel mode
7 * ThreadHandle (OUT) = Caller supplied storage for the returned thread
9 * DesiredAccess = Requested access to the thread
10 * ObjectAttributes = Object attributes (optional)
11 * ProcessHandle = Handle of process thread will run in
12 * NULL to use system process
13 * ClientId (OUT) = Caller supplied storage for the returned client id
14 * of the thread (optional)
15 * StartRoutine = Entry point for the thread
16 * StartContext = Argument supplied to the thread when it begins
18 * RETURNS: Success or failure status
20 NTSTATUS
PsCreateSystemThread(PHANDLE ThreadHandle
,
21 ACCESS_MASK DesiredAccess
,
22 POBJECT_ATTRIBUTES ObjectAttributes
,
25 PKSTART_ROUTINE StartRoutine
,
27 NTSTATUS
PsTerminateSystemThread(NTSTATUS ExitStatus
);
28 VOID
PsSuspendThread(PETHREAD Thread
);
29 VOID
PsResumeThread(PETHREAD Thread
);
30 PETHREAD
PsGetCurrentThread(VOID
);
31 struct _EPROCESS
* PsGetCurrentProcess(VOID
);