1 /******************************************************************************
2 * Process Manager Functions *
3 ******************************************************************************/
5 extern NTKERNELAPI PEPROCESS PsInitialSystemProcess
;
11 * PsGetCurrentProcess(VOID)
13 #define PsGetCurrentProcess IoGetCurrentProcess
15 #if !defined(_PSGETCURRENTTHREAD_)
16 #define _PSGETCURRENTTHREAD_
21 PsGetCurrentThread(VOID
)
23 return (PETHREAD
)KeGetCurrentThread();
29 #if (NTDDI_VERSION >= NTDDI_WIN2K)
35 PsSetCreateProcessNotifyRoutine(
36 IN PCREATE_PROCESS_NOTIFY_ROUTINE NotifyRoutine
,
42 PsSetCreateThreadNotifyRoutine(
43 IN PCREATE_THREAD_NOTIFY_ROUTINE NotifyRoutine
);
48 PsSetLoadImageNotifyRoutine(
49 IN PLOAD_IMAGE_NOTIFY_ROUTINE NotifyRoutine
);
54 PsGetCurrentProcessId(VOID
);
59 PsGetCurrentThreadId(VOID
);
65 OUT PULONG MajorVersion OPTIONAL
,
66 OUT PULONG MinorVersion OPTIONAL
,
67 OUT PULONG BuildNumber OPTIONAL
,
68 OUT PUNICODE_STRING CSDVersion OPTIONAL
);
76 OUT PHANDLE ThreadHandle
,
77 IN ULONG DesiredAccess
,
78 IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL
,
79 IN HANDLE ProcessHandle OPTIONAL
,
80 OUT PCLIENT_ID ClientId OPTIONAL
,
81 IN PKSTART_ROUTINE StartRoutine
,
82 IN PVOID StartContext OPTIONAL
);
87 PsTerminateSystemThread(
88 IN NTSTATUS ExitStatus
);
94 #if (NTDDI_VERSION >= NTDDI_WINXP)
100 IN PEPROCESS Process
);
111 PsRemoveCreateThreadNotifyRoutine(
112 IN PCREATE_THREAD_NOTIFY_ROUTINE NotifyRoutine
);
117 PsRemoveLoadImageNotifyRoutine(
118 IN PLOAD_IMAGE_NOTIFY_ROUTINE NotifyRoutine
);
123 PsGetProcessCreateTimeQuadPart(
124 IN PEPROCESS Process
);
126 #endif /* (NTDDI_VERSION >= NTDDI_WINXP) */
128 #if (NTDDI_VERSION >= NTDDI_WS03)
132 PsGetThreadProcessId(
136 #if (NTDDI_VERSION >= NTDDI_VISTA)
141 PsSetCurrentThreadPrefetching(
142 IN BOOLEAN Prefetching
);
147 PsIsCurrentThreadPrefetching(VOID
);
151 #if (NTDDI_VERSION >= NTDDI_VISTASP1)
155 PsSetCreateProcessNotifyRoutineEx(
156 IN PCREATE_PROCESS_NOTIFY_ROUTINE_EX NotifyRoutine
,
165 PsWrapApcWow64Thread(
166 IN OUT PVOID
*ApcContext
,
167 IN OUT PVOID
*ApcRoutine
);