2010-03-13 00:34:48 +00:00
|
|
|
/******************************************************************************
|
|
|
|
* Process Manager Functions *
|
|
|
|
******************************************************************************/
|
|
|
|
|
|
|
|
/*
|
|
|
|
* PEPROCESS
|
|
|
|
* PsGetCurrentProcess(VOID)
|
|
|
|
*/
|
|
|
|
#define PsGetCurrentProcess IoGetCurrentProcess
|
|
|
|
|
|
|
|
#if !defined(_PSGETCURRENTTHREAD_)
|
|
|
|
|
|
|
|
#define _PSGETCURRENTTHREAD_
|
|
|
|
|
|
|
|
FORCEINLINE
|
|
|
|
PETHREAD
|
|
|
|
NTAPI
|
2010-03-18 22:45:30 +00:00
|
|
|
PsGetCurrentThread(VOID)
|
2010-03-13 00:34:48 +00:00
|
|
|
{
|
|
|
|
return (PETHREAD)KeGetCurrentThread();
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
|
|
|
|
|
|
|
NTKERNELAPI
|
|
|
|
NTSTATUS
|
|
|
|
NTAPI
|
|
|
|
PsCreateSystemThread(
|
2010-03-18 22:45:30 +00:00
|
|
|
OUT PHANDLE ThreadHandle,
|
|
|
|
IN ULONG DesiredAccess,
|
|
|
|
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
|
|
|
|
IN HANDLE ProcessHandle OPTIONAL,
|
|
|
|
OUT PCLIENT_ID ClientId OPTIONAL,
|
|
|
|
IN PKSTART_ROUTINE StartRoutine,
|
|
|
|
IN PVOID StartContext OPTIONAL);
|
2010-03-13 00:34:48 +00:00
|
|
|
|
|
|
|
NTKERNELAPI
|
|
|
|
NTSTATUS
|
|
|
|
NTAPI
|
|
|
|
PsTerminateSystemThread(
|
2010-03-18 22:45:30 +00:00
|
|
|
IN NTSTATUS ExitStatus);
|
2010-03-13 00:34:48 +00:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|