ReactOS  0.4.15-dev-4923-g379188a
ps.h
Go to the documentation of this file.
1 /*
2  * PROJECT: ReactOS Kernel
3  * LICENSE: GPL - See COPYING in the top level directory
4  * FILE: ntoskrnl/include/internal/ps.h
5  * PURPOSE: Internal header for the Process Manager
6  * PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org)
7  */
8 
9 //
10 // Define this if you want debugging support
11 //
12 #define _PS_DEBUG_ 0x00
13 
14 //
15 // These define the Debug Masks Supported
16 //
17 #define PS_THREAD_DEBUG 0x01
18 #define PS_PROCESS_DEBUG 0x02
19 #define PS_SECURITY_DEBUG 0x04
20 #define PS_JOB_DEBUG 0x08
21 #define PS_NOTIFICATIONS_DEBUG 0x10
22 #define PS_WIN32K_DEBUG 0x20
23 #define PS_STATE_DEBUG 0x40
24 #define PS_QUOTA_DEBUG 0x80
25 #define PS_KILL_DEBUG 0x100
26 #define PS_REF_DEBUG 0x200
27 
28 //
29 // Debug/Tracing support
30 //
31 #if _PS_DEBUG_
32 #ifdef NEW_DEBUG_SYSTEM_IMPLEMENTED // enable when Debug Filters are implemented
33 #define PSTRACE(x, ...) \
34  { \
35  DbgPrintEx("%s [%.16s] - ", \
36  __FUNCTION__, \
37  PsGetCurrentProcess()->ImageFileName); \
38  DbgPrintEx(__VA_ARGS__); \
39  }
40 #else
41 #define PSTRACE(x, ...) \
42  if (x & PspTraceLevel) \
43  { \
44  DbgPrint("%s [%.16s] - ", \
45  __FUNCTION__, \
46  PsGetCurrentProcess()->ImageFileName); \
47  DbgPrint(__VA_ARGS__); \
48  }
49 #endif
50 #define PSREFTRACE(x) \
51  PSTRACE(PS_REF_DEBUG, \
52  "Pointer Count [%p] @%d: %lx\n", \
53  x, \
54  __LINE__, \
55  OBJECT_TO_OBJECT_HEADER(x)->PointerCount)
56 #else
57 #define PSTRACE(x, fmt, ...) DPRINT(fmt, ##__VA_ARGS__)
58 #define PSREFTRACE(x)
59 #endif
60 
61 //
62 // Maximum Count of Notification Routines
63 //
64 #define PSP_MAX_CREATE_THREAD_NOTIFY 8
65 #define PSP_MAX_LOAD_IMAGE_NOTIFY 8
66 #define PSP_MAX_CREATE_PROCESS_NOTIFY 8
67 
68 //
69 // Maximum Job Scheduling Classes
70 //
71 #define PSP_JOB_SCHEDULING_CLASSES 10
72 
73 //
74 // Process Quota Threshold Values
75 //
76 #define PSP_NON_PAGED_POOL_QUOTA_THRESHOLD 0x10000
77 #define PSP_PAGED_POOL_QUOTA_THRESHOLD 0x80000
78 
79 //
80 // Thread "Set/Get Context" Context Structure
81 //
82 typedef struct _GET_SET_CTX_CONTEXT
83 {
89 
90 //
91 // Initialization Functions
92 //
93 VOID
94 NTAPI
96  VOID
97 );
98 
99 CODE_SEG("INIT")
100 BOOLEAN
101 NTAPI
103  IN PLOADER_PARAMETER_BLOCK LoaderBlock
104 );
105 
106 //
107 // Utility Routines
108 //
109 PETHREAD
110 NTAPI
114 );
115 
116 PEPROCESS
117 NTAPI
119  IN PEPROCESS OldProcess OPTIONAL
120 );
121 
122 NTSTATUS
123 NTAPI
126  OUT PVOID *DllBase,
127  IN BOOLEAN UseLargePages
128 );
129 
130 CODE_SEG("INIT")
131 NTSTATUS
132 NTAPI
134  VOID
135 );
136 
137 NTSTATUS
138 NTAPI
140  VOID
141 );
142 
143 VOID
144 NTAPI
146  IN BOOLEAN Immediate,
147  IN ULONG PrioritySeparation
148 );
149 
150 NTSTATUS
151 NTAPI
155 );
156 
157 //
158 // Process Routines
159 //
160 NTSTATUS
161 NTAPI
166  IN HANDLE ParentProcess OPTIONAL,
167  IN ULONG Flags,
168  IN HANDLE SectionHandle OPTIONAL,
169  IN HANDLE DebugPort OPTIONAL,
170  IN HANDLE ExceptionPort OPTIONAL,
171  IN BOOLEAN InJob
172 );
173 
174 //
175 // Security Routines
176 //
178 NTAPI
184 );
185 
186 NTSTATUS
187 NTAPI
191 );
192 
193 NTSTATUS
194 NTAPI
199 );
200 
201 NTSTATUS
202 NTAPI
206 );
207 
208 VOID
209 NTAPI
212 );
213 
214 VOID
215 NTAPI
218 );
219 
220 //
221 // Reaping and Deletion
222 //
223 VOID
224 NTAPI
226  PKAPC Apc,
227  PKNORMAL_ROUTINE *NormalRoutine,
228  PVOID *NormalContext,
231 );
232 
233 VOID
234 NTAPI
237 );
238 
239 VOID
240 NTAPI
243 );
244 
245 NTSTATUS
246 NTAPI
250  IN BOOLEAN bSelf
251 );
252 
253 VOID
254 NTAPI
258 );
259 
260 NTSTATUS
261 NTAPI
265 );
266 
267 VOID
268 NTAPI
270  IN PVOID ObjectBody
271 );
272 
273 VOID
274 NTAPI
276  IN PVOID ObjectBody
277 );
278 
279 //
280 // Thread/Process Startup
281 //
282 VOID
283 NTAPI
286  PVOID StartContext
287 );
288 
289 VOID
290 NTAPI
293 );
294 
295 //
296 // Quota Support
297 //
298 VOID
299 NTAPI
302  _In_ PEPROCESS ParentProcess
303 );
304 
305 VOID
306 NTAPI
309  _In_ PEPROCESS_QUOTA_BLOCK QuotaBlock
310 );
311 
312 NTSTATUS
313 NTAPI
317 );
318 
319 NTSTATUS
320 NTAPI
324 );
325 
326 VOID
327 NTAPI
329  _In_ PEPROCESS_QUOTA_BLOCK QuotaBlock,
330  _In_ SIZE_T AmountToReturnPaged,
331  _In_ SIZE_T AmountToReturnNonPaged
332 );
333 
335 NTAPI
338  _In_ SIZE_T AmountToChargePaged,
339  _In_ SIZE_T AmountToChargeNonPaged
340 );
341 
342 NTSTATUS
343 NTAPI
346  _In_ ULONG Unused,
347  _In_ PVOID QuotaLimits,
348  _In_ ULONG QuotaLimitsLength,
350 
351 #if defined(_X86_)
352 //
353 // VDM and LDT Support
354 //
355 VOID
356 NTAPI
359 );
360 
361 VOID
362 NTAPI
365 );
366 
367 NTSTATUS
368 NTAPI
371  IN PVOID ThreadInformation,
374 );
375 #endif
376 
377 //
378 // Job Routines
379 //
380 VOID
381 NTAPI
383  IN PEJOB Job,
385 );
386 
387 VOID
388 NTAPI
391  IN PEJOB Job
392 );
393 
394 CODE_SEG("INIT")
395 VOID
396 NTAPI
398  VOID
399 );
400 
401 VOID
402 NTAPI
404  IN PVOID ObjectBody
405 );
406 
407 //
408 // State routines
409 //
410 NTSTATUS
411 NTAPI
414  OUT PULONG PreviousCount OPTIONAL
415 );
416 
417 NTSTATUS
418 NTAPI
421  OUT PULONG PreviousCount OPTIONAL
422 );
423 
424 VOID
425 NTAPI
427  IN PKAPC Apc,
428  IN OUT PKNORMAL_ROUTINE* NormalRoutine,
429  IN OUT PVOID* NormalContext,
432 );
433 
434 BOOLEAN
435 NTAPI
437 
438 //
439 // Apphelp functions
440 //
441 CODE_SEG("INIT")
442 NTSTATUS
443 NTAPI
445 
446 VOID
447 NTAPI
449 
450 //
451 // Global data inside the Process Manager
452 //
453 extern ULONG PspTraceLevel;
458 extern BOOLEAN PspReaping;
459 extern PEPROCESS PsIdleProcess;
471 extern PKWIN32_PROCESS_CALLOUT PspW32ProcessCallout;
474 extern PVOID PspSystemDllBase;
482 extern POBJECT_TYPE PsJobType;
489 
490 //
491 // Inlined Functions
492 //
493 #include "ps_x.h"
VOID NTAPI PspSystemThreadStartup(PKSTART_ROUTINE StartRoutine, PVOID StartContext)
enum _SECURITY_IMPERSONATION_LEVEL * PSECURITY_IMPERSONATION_LEVEL
VOID NTAPI PspShutdownProcessManager(VOID)
Definition: kill.c:138
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
Definition: conport.c:35
#define PSP_MAX_CREATE_PROCESS_NOTIFY
Definition: ps.h:66
IN CINT OUT PVOID IN ULONG OUT PULONG ReturnLength
Definition: dumpinfo.c:39
_Must_inspect_result_ typedef _In_ PVOID Unused
Definition: iotypes.h:1166
#define IN
Definition: typedefs.h:39
_Must_inspect_result_ _In_ LONGLONG _In_ LONGLONG Amount
Definition: fsrtlfuncs.h:550
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
Definition: wdfdevice.h:2654
VOID NTAPI PspDeleteVdmObjects(PEPROCESS Process)
Definition: psldt.c:27
#define _In_opt_
Definition: ms_sal.h:309
POBJECT_TYPE PsJobType
Definition: job.c:20
ULONG PspTraceLevel
Definition: query.c:18
PLEGO_NOTIFY_ROUTINE PspLegoNotifyRoutine
Definition: psnotify.c:24
VOID NTAPI PspDeleteThread(IN PVOID ObjectBody)
Definition: kill.c:394
_In_ ULONG _In_opt_ POBJECT_ATTRIBUTES _In_opt_ HANDLE _Out_opt_ PCLIENT_ID _In_ PKSTART_ROUTINE StartRoutine
Definition: psfuncs.h:87
BOOLEAN NTAPI PsInitSystem(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
Definition: psmgr.c:624
VOID NTAPI PsIdleThreadMain(IN PVOID Context)
VOID NTAPI PsReturnSharedPoolQuota(_In_ PEPROCESS_QUOTA_BLOCK QuotaBlock, _In_ SIZE_T AmountToReturnPaged, _In_ SIZE_T AmountToReturnNonPaged)
Returns the shared (paged and non paged) pool quotas. The function is used exclusively by the Object ...
Definition: quota.c:621
enum _TOKEN_TYPE * PTOKEN_TYPE
NTSTATUS NTAPI PsOpenTokenOfProcess(IN HANDLE ProcessHandle, OUT PACCESS_TOKEN *Token)
Definition: security.c:471
char CHAR
Definition: xmlstorage.h:175
LONG NTSTATUS
Definition: precomp.h:26
VOID NTAPI PspInitializeJobStructures(VOID)
Definition: job.c:111
_IRQL_requires_same_ _In_ PLSA_STRING _In_ SECURITY_LOGON_TYPE _In_ ULONG _In_ ULONG _In_opt_ PTOKEN_GROUPS _In_ PTOKEN_SOURCE _Out_ PVOID _Out_ PULONG _Inout_ PLUID _Out_ PHANDLE Token
VOID NTAPI PspReapRoutine(IN PVOID Context)
Definition: kill.c:170
ULONG PsRawPrioritySeparation
Definition: process.c:27
PKWIN32_PROCESS_CALLOUT PspW32ProcessCallout
Definition: win32.c:18
UNICODE_STRING PsNtDllPathName
Definition: psmgr.c:45
NTSTATUS(NTAPI * PKWIN32_THREAD_CALLOUT)(_In_ struct _ETHREAD *Thread, _In_ PSW32THREADCALLOUTTYPE Type)
Definition: pstypes.h:531
VOID NTAPI PspDeleteJob(IN PVOID ObjectBody)
NTSTATUS NTAPI PsReturnProcessPageFileQuota(_In_ PEPROCESS Process, _In_ SIZE_T Amount)
Returns the page file quota that the process was taking up. The function is used exclusively by the k...
Definition: quota.c:993
DWORD LCID
Definition: nls.h:13
PHANDLE_TABLE PspCidTable
Definition: psmgr.c:48
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn BOOLEAN Physical UINT32 ACPI_TABLE_HEADER *OutTableHeader ACPI_TABLE_HEADER **OutTable ACPI_HANDLE UINT32 ACPI_WALK_CALLBACK ACPI_WALK_CALLBACK void void **ReturnValue UINT32 ACPI_BUFFER *RetPathPtr ACPI_OBJECT_HANDLER void *Data ACPI_OBJECT_HANDLER void **Data ACPI_STRING ACPI_OBJECT_LIST ACPI_BUFFER *ReturnObjectBuffer ACPI_DEVICE_INFO **ReturnBuffer ACPI_HANDLE Parent
Definition: acpixf.h:728
PTOKEN PspBootAccessToken
Definition: security.c:17
LIST_ENTRY PsActiveProcessHead
Definition: process.c:22
NTSTATUS NTAPI PspMapSystemDll(IN PEPROCESS Process, OUT PVOID *DllBase, IN BOOLEAN UseLargePages)
VOID NTAPI PspExitThread(IN NTSTATUS ExitStatus)
Definition: kill.c:453
uint32_t ULONG_PTR
Definition: typedefs.h:65
NTSTATUS NTAPI PspQueryDescriptorThread(IN PETHREAD Thread, IN PVOID ThreadInformation, IN ULONG ThreadInformationLength, OUT PULONG ReturnLength OPTIONAL)
Definition: psldt.c:43
ERESOURCE PsLoadedModuleResource
Definition: sysldr.c:37
NTSTATUS NTAPI PspSetQuotaLimits(_In_ PEPROCESS Process, _In_ ULONG Unused, _In_ PVOID QuotaLimits, _In_ ULONG QuotaLimitsLength, _In_ KPROCESSOR_MODE PreviousMode)
This function adjusts the working set limits of a process and sets up new quota limits when necessary...
Definition: quota.c:1045
WORK_QUEUE_ITEM PspReaperWorkItem
Definition: kill.c:20
PEPROCESS PsIdleProcess
Definition: psmgr.c:51
NTSTATUS NTAPI ApphelpCacheInitialize(VOID)
Definition: apphelp.c:439
VOID NTAPI PspExitProcess(IN BOOLEAN LastThread, IN PEPROCESS Process)
Definition: kill.c:1078
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
KSPIN_LOCK PsLoadedModuleSpinLock
Definition: sysldr.c:36
KSTART_ROUTINE * PKSTART_ROUTINE
Definition: ketypes.h:487
NTSTATUS NTAPI PspCreateProcess(OUT PHANDLE ProcessHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN HANDLE ParentProcess OPTIONAL, IN ULONG Flags, IN HANDLE SectionHandle OPTIONAL, IN HANDLE DebugPort OPTIONAL, IN HANDLE ExceptionPort OPTIONAL, IN BOOLEAN InJob)
Definition: process.c:347
PKWIN32_THREAD_CALLOUT PspW32ThreadCallout
Definition: win32.c:19
EPROCESS_QUOTA_BLOCK PspDefaultQuotaBlock
Definition: quota.c:16
ULONG_PTR PsNtosImageBase
Definition: sysldr.c:38
#define PSP_JOB_SCHEDULING_CLASSES
Definition: ps.h:71
EX_CALLBACK PspProcessNotifyRoutine[PSP_MAX_CREATE_PROCESS_NOTIFY]
Definition: psnotify.c:22
VOID NTAPI PspDereferenceQuotaBlock(_In_opt_ PEPROCESS Process, _In_ PEPROCESS_QUOTA_BLOCK QuotaBlock)
De-references a quota block when quotas have been returned back because of an object de-allocation or...
Definition: quota.c:553
VOID NTAPI PspExitProcessFromJob(IN PEJOB Job, IN PEPROCESS Process)
Definition: job.c:146
CHAR PspJobSchedulingClasses[PSP_JOB_SCHEDULING_CLASSES]
Definition: job.c:27
NTSTATUS NTAPI PspSetPrimaryToken(IN PEPROCESS Process, IN HANDLE TokenHandle OPTIONAL, IN PACCESS_TOKEN Token OPTIONAL)
Definition: security.c:215
unsigned char BOOLEAN
VOID(NTAPI * PLEGO_NOTIFY_ROUTINE)(_In_ PKTHREAD Thread)
Definition: pstypes.h:617
#define _In_
Definition: ms_sal.h:308
_In_ ACCESS_MASK _In_ ULONG _Out_ PHANDLE TokenHandle
Definition: psfuncs.h:715
VOID NTAPI PsChangeQuantumTable(IN BOOLEAN Immediate, IN ULONG PrioritySeparation)
Definition: process.c:235
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
Definition: wdfdevice.h:547
VOID NTAPI PspInheritQuota(_In_ PEPROCESS Process, _In_ PEPROCESS ParentProcess)
#define PSP_MAX_CREATE_THREAD_NOTIFY
Definition: ps.h:64
_In_opt_ PVOID _In_opt_ PVOID SystemArgument1
Definition: ketypes.h:675
_In_ KPROCESSOR_MODE PreviousMode
Definition: sefuncs.h:103
#define PSP_MAX_LOAD_IMAGE_NOTIFY
Definition: ps.h:65
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
NTSTATUS NTAPI PsSuspendThread(IN PETHREAD Thread, OUT PULONG PreviousCount OPTIONAL)
Definition: state.c:48
BOOLEAN PsImageNotifyEnabled
Definition: psnotify.c:18
ULONG PspProcessNotifyRoutineCount
Definition: psnotify.c:19
GENERIC_MAPPING PspJobMapping
Definition: job.c:41
NTSTATUS NTAPI PsTerminateProcess(IN PEPROCESS Process, IN NTSTATUS ExitStatus)
Definition: kill.c:129
LIST_ENTRY PsLoadedModuleList
Definition: sysldr.c:34
KPROCESSOR_MODE Mode
Definition: ps.h:86
_Out_ PBOOLEAN _Out_ PBOOLEAN _Out_ PSECURITY_IMPERSONATION_LEVEL ImpersonationLevel
Definition: psfuncs.h:154
LCID PsDefaultSystemLocaleId
Definition: locale.c:20
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD Thread
Definition: fltkernel.h:2652
PVOID PspSystemDllBase
Definition: psmgr.c:41
POBJECT_TYPE _PsProcessType
struct _GET_SET_CTX_CONTEXT * PGET_SET_CTX_CONTEXT
VOID NTAPI PspDeleteLdt(PEPROCESS Process)
Definition: psldt.c:19
CCHAR KPROCESSOR_MODE
Definition: ketypes.h:7
BOOLEAN NTAPI PspIsProcessExiting(IN PEPROCESS Process)
Definition: kill.c:1071
* PFILE_OBJECT
Definition: iotypes.h:1998
EX_CALLBACK PspThreadNotifyRoutine[PSP_MAX_CREATE_THREAD_NOTIFY]
Definition: psnotify.c:21
PETHREAD NTAPI PsGetNextProcessThread(IN PEPROCESS Process, IN PETHREAD Thread OPTIONAL)
Definition: process.c:75
VOID NTAPI PspDeleteProcess(IN PVOID ObjectBody)
Definition: kill.c:256
char * PBOOLEAN
Definition: retypes.h:11
NTSTATUS NTAPI PsChargeProcessPageFileQuota(_In_ PEPROCESS Process, _In_ SIZE_T Amount)
Charges the process page file quota. The function is used internally by the kernel.
Definition: quota.c:738
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:454
Definition: ketypes.h:535
PEPROCESS NTAPI PsGetNextProcess(IN PEPROCESS OldProcess OPTIONAL)
Definition: process.c:128
Definition: typedefs.h:119
PACCESS_TOKEN NTAPI PsReferenceEffectiveToken(IN PETHREAD Thread, OUT IN PTOKEN_TYPE TokenType, OUT PBOOLEAN EffectiveOnly, OUT PSECURITY_IMPERSONATION_LEVEL ImpersonationLevel)
Definition: security.c:780
VOID NTAPI PspDeleteProcessSecurity(IN PEPROCESS Process)
Definition: security.c:30
NTSTATUS NTAPI PsLocateSystemDll(VOID)
Definition: psmgr.c:279
PETHREAD LastThread
Definition: pinsup.c:109
_In_opt_ PVOID _In_opt_ PVOID _In_opt_ PVOID SystemArgument2
Definition: ketypes.h:675
VOID NTAPI PspDeleteThreadSecurity(IN PETHREAD Thread)
Definition: security.c:46
VOID NTAPI PspRemoveProcessFromJob(IN PEPROCESS Process, IN PEJOB Job)
Definition: job.c:138
ULONG_PTR SIZE_T
Definition: typedefs.h:80
PEPROCESS_QUOTA_BLOCK NTAPI PsChargeSharedPoolQuota(_In_ PEPROCESS Process, _In_ SIZE_T AmountToChargePaged, _In_ SIZE_T AmountToChargeNonPaged)
Charges the shared (paged and non paged) pool quotas. The function is used exclusively by the Object ...
Definition: quota.c:674
_In_ THREADINFOCLASS _In_ ULONG ThreadInformationLength
Definition: psfuncs.h:835
KEVENT Event
Definition: ps.h:85
ULONG PspThreadNotifyRoutineCount
Definition: psnotify.c:19
BOOLEAN PspUseJobSchedulingClasses
Definition: job.c:25
KGUARDED_MUTEX PspActiveProcessMutex
Definition: process.c:23
ULONG KSPIN_LOCK
Definition: env_spec_w32.h:72
_In_ NTSTATUS ExitStatus
Definition: psfuncs.h:859
ULONG PsPrioritySeparation
Definition: process.c:28
unsigned int * PULONG
Definition: retypes.h:1
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
Definition: fsrtlfuncs.h:219
NTSTATUS NTAPI PsResumeThread(IN PETHREAD Thread, OUT PULONG PreviousCount OPTIONAL)
Definition: state.c:32
#define OUT
Definition: typedefs.h:40
PVOID PspSystemDllEntryPoint
Definition: psmgr.c:43
ULONG ERESOURCE
Definition: env_spec_w32.h:594
unsigned int ULONG
Definition: retypes.h:1
NTSTATUS NTAPI PspInitializeProcessSecurity(IN PEPROCESS Process, IN PEPROCESS Parent OPTIONAL)
Definition: security.c:71
LIST_ENTRY PspReaperListHead
Definition: kill.c:19
struct _GET_SET_CTX_CONTEXT GET_SET_CTX_CONTEXT
NTSTATUS NTAPI PspTerminateThreadByPointer(IN PETHREAD Thread, IN NTSTATUS ExitStatus, IN BOOLEAN bSelf)
Definition: kill.c:991
VOID(NTAPI * PKNORMAL_ROUTINE)(IN PVOID NormalContext OPTIONAL, IN PVOID SystemArgument1 OPTIONAL, IN PVOID SystemArgument2 OPTIONAL)
Definition: ketypes.h:684
VOID NTAPI PsExitSpecialApc(PKAPC Apc, PKNORMAL_ROUTINE *NormalRoutine, PVOID *NormalContext, PVOID *SystemArgument1, PVOID *SystemArgument2)
_In_ ACCESS_MASK _In_opt_ POBJECT_ATTRIBUTES _In_ BOOLEAN EffectiveOnly
Definition: sefuncs.h:401
_In_ HANDLE ProcessHandle
Definition: mmfuncs.h:403
CONTEXT Context
Definition: ps.h:87
static CODE_SEG("PAGE")
Definition: isapnp.c:1482
NTSTATUS NTAPI PspGetSystemDllEntryPoints(VOID)
ULONG ACCESS_MASK
Definition: nt_native.h:40
LARGE_INTEGER ShortPsLockDelay
Definition: ps.h:483
VOID NTAPI ApphelpCacheShutdown(VOID)
Definition: apphelp.c:465
POBJECT_TYPE _PsThreadType
NTSTATUS NTAPI PsReferenceProcessFilePointer(IN PEPROCESS Process, OUT PFILE_OBJECT *FileObject)
Definition: query.c:24
EX_CALLBACK PspLoadImageNotifyRoutine[PSP_MAX_LOAD_IMAGE_NOTIFY]
Definition: psnotify.c:23
_In_ ACCESS_MASK _In_opt_ POBJECT_ATTRIBUTES _In_ BOOLEAN _In_ TOKEN_TYPE TokenType
Definition: sefuncs.h:401
LCID PsDefaultThreadLocaleId
Definition: locale.c:24
VOID NTAPI PspGetOrSetContextKernelRoutine(IN PKAPC Apc, IN OUT PKNORMAL_ROUTINE *NormalRoutine, IN OUT PVOID *NormalContext, IN OUT PVOID *SystemArgument1, IN OUT PVOID *SystemArgument2)
Definition: psctx.c:38
BOOLEAN PspReaping
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68