ReactOS
0.4.15-dev-4569-g032c50f
|
#include "ps_x.h"
Go to the source code of this file.
Classes | |
struct | _GET_SET_CTX_CONTEXT |
Macros | |
#define | _PS_DEBUG_ 0x00 |
#define | PS_THREAD_DEBUG 0x01 |
#define | PS_PROCESS_DEBUG 0x02 |
#define | PS_SECURITY_DEBUG 0x04 |
#define | PS_JOB_DEBUG 0x08 |
#define | PS_NOTIFICATIONS_DEBUG 0x10 |
#define | PS_WIN32K_DEBUG 0x20 |
#define | PS_STATE_DEBUG 0x40 |
#define | PS_QUOTA_DEBUG 0x80 |
#define | PS_KILL_DEBUG 0x100 |
#define | PS_REF_DEBUG 0x200 |
#define | PSTRACE(x, fmt, ...) DPRINT(fmt, ##__VA_ARGS__) |
#define | PSREFTRACE(x) |
#define | PSP_MAX_CREATE_THREAD_NOTIFY 8 |
#define | PSP_MAX_LOAD_IMAGE_NOTIFY 8 |
#define | PSP_MAX_CREATE_PROCESS_NOTIFY 8 |
#define | PSP_JOB_SCHEDULING_CLASSES 10 |
#define | PSP_NON_PAGED_POOL_QUOTA_THRESHOLD 0x10000 |
#define | PSP_PAGED_POOL_QUOTA_THRESHOLD 0x80000 |
Typedefs | |
typedef struct _GET_SET_CTX_CONTEXT | GET_SET_CTX_CONTEXT |
typedef struct _GET_SET_CTX_CONTEXT * | PGET_SET_CTX_CONTEXT |
typedef struct _GET_SET_CTX_CONTEXT * PGET_SET_CTX_CONTEXT |
Definition at line 439 of file apphelp.c.
Referenced by IoInitSystem().
Definition at line 235 of file process.c.
Referenced by PspInitPhase0(), and SSI_DEF().
Charges the process page file quota. The function is used internally by the kernel.
[in] | Process | The process which page file quota is to be charged. |
[in] | Amount | The amount of page file quota to charge. |
Definition at line 738 of file quota.c.
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 Manager to manage quota charges handling of objects.
[in] | Process | The process which quotas are to be charged within its quota block. |
[in] | AmountToChargePaged | The amount of paged quotas quotas to be charged. |
[in] | AmountToChargeNonPaged | The amount of non paged quotas to be charged. |
Definition at line 674 of file quota.c.
Referenced by ObpChargeQuotaForObject().
VOID NTAPI PsExitSpecialApc | ( | PKAPC | Apc, |
PKNORMAL_ROUTINE * | NormalRoutine, | ||
PVOID * | NormalContext, | ||
PVOID * | SystemArgument1, | ||
PVOID * | SystemArgument2 | ||
) |
Referenced by KiInsertQueueApc().
Definition at line 128 of file process.c.
Referenced by DbgkpCloseObject(), ExpDebuggerWorker(), PopGracefulShutdown(), PsChangeQuantumTable(), PspShutdownProcessManager(), and QSI_DEF().
Definition at line 75 of file process.c.
Referenced by DbgkpPostFakeThreadMessages(), DbgkpSetProcessDebugObject(), ExSwapinWorkerThreads(), NtSetInformationThread(), NtTerminateProcess(), PspTerminateProcess(), PsResumeProcess(), and PsSuspendProcess().
BOOLEAN NTAPI PsInitSystem | ( | IN PLOADER_PARAMETER_BLOCK | LoaderBlock | ) |
Definition at line 624 of file psmgr.c.
Referenced by ExpInitializeExecutive(), and Phase1InitializationDiscard().
Definition at line 279 of file psmgr.c.
Referenced by IoInitSystem().
Definition at line 471 of file security.c.
Referenced by NtOpenProcessTokenEx().
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 at line 347 of file process.c.
Referenced by NtCreateProcessEx(), PsCreateSystemProcess(), and PspInitPhase0().
Referenced by PspInitPhase0().
Definition at line 256 of file kill.c.
Referenced by PspInitPhase0().
Definition at line 30 of file security.c.
Referenced by PspDeleteProcess().
Definition at line 394 of file kill.c.
Referenced by PspInitPhase0().
Definition at line 46 of file security.c.
Referenced by PspDeleteThread().
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 when a process gets destroyed. If the last instance that held up the block gets de-referenced the function will perform a cleanup against that block and it'll free the quota block from memory.
[in] | Process | A pointer to a process that de-references the quota block. |
[in] | QuotaBlock | A pointer to a quota block that is to be de-referenced. This block can come from a process that references it or an object. |
Definition at line 553 of file quota.c.
Referenced by PspDeleteProcess(), and PsReturnSharedPoolQuota().
Definition at line 1078 of file kill.c.
Referenced by PspDeleteProcess(), and PspExitThread().
Definition at line 453 of file kill.c.
Referenced by PsExitSpecialApc(), and PspTerminateThreadByPointer().
VOID NTAPI PspGetOrSetContextKernelRoutine | ( | IN PKAPC | Apc, |
IN OUT PKNORMAL_ROUTINE * | NormalRoutine, | ||
IN OUT PVOID * | NormalContext, | ||
IN OUT PVOID * | SystemArgument1, | ||
IN OUT PVOID * | SystemArgument2 | ||
) |
Definition at line 38 of file psctx.c.
Referenced by PsGetContextThread(), and PsSetContextThread().
Referenced by PspCreateProcess().
Definition at line 111 of file job.c.
Referenced by PspInitPhase0().
Definition at line 71 of file security.c.
Referenced by PspCreateProcess().
Definition at line 1071 of file kill.c.
Referenced by MmpPageOutPhysicalAddress().
NTSTATUS NTAPI PspMapSystemDll | ( | IN PEPROCESS | Process, |
OUT PVOID * | DllBase, | ||
IN BOOLEAN | UseLargePages | ||
) |
Referenced by PspCreateProcess().
Definition at line 170 of file kill.c.
Referenced by PspInitPhase0().
NTSTATUS NTAPI PspSetPrimaryToken | ( | IN PEPROCESS | Process, |
IN HANDLE TokenHandle | OPTIONAL, | ||
IN PACCESS_TOKEN Token | OPTIONAL | ||
) |
Definition at line 215 of file security.c.
Referenced by NtSetInformationProcess().
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. The function is used when the caller requests to set up new working set sizes.
[in] | Process | The process which quota limits or working set sizes are to be changed. |
[in] | Unused | This parameter is unused. |
[in] | QuotaLimits | An arbitrary pointer that points to a quota limits structure, needed to determine on setting up new working set sizes. |
[in] | QuotaLimitsLength | The length of QuotaLimits buffer, which size is expressed in bytes. |
[in] | PreviousMode | The processor level access mode. |
Definition at line 1045 of file quota.c.
Referenced by NtSetInformationProcess().
Definition at line 138 of file kill.c.
VOID NTAPI PspSystemThreadStartup | ( | PKSTART_ROUTINE | StartRoutine, |
PVOID | StartContext | ||
) |
NTSTATUS NTAPI PspTerminateThreadByPointer | ( | IN PETHREAD | Thread, |
IN NTSTATUS | ExitStatus, | ||
IN BOOLEAN | bSelf | ||
) |
Definition at line 991 of file kill.c.
Referenced by NtTerminateProcess(), NtTerminateThread(), PspSystemThreadStartup(), PspTerminateProcess(), PspUserThreadStartup(), and PsTerminateSystemThread().
PACCESS_TOKEN NTAPI PsReferenceEffectiveToken | ( | IN PETHREAD | Thread, |
OUT IN PTOKEN_TYPE | TokenType, | ||
OUT PBOOLEAN | EffectiveOnly, | ||
OUT PSECURITY_IMPERSONATION_LEVEL | ImpersonationLevel | ||
) |
Definition at line 780 of file security.c.
Referenced by SeCreateClientSecurity().
NTSTATUS NTAPI PsReferenceProcessFilePointer | ( | IN PEPROCESS | Process, |
OUT PFILE_OBJECT * | FileObject | ||
) |
Definition at line 24 of file query.c.
Referenced by SeLocateProcessImageName().
Definition at line 32 of file state.c.
Referenced by DbgkpPostFakeThreadMessages(), DbgkpWakeTarget(), and NtResumeThread().
Returns the page file quota that the process was taking up. The function is used exclusively by the kernel.
[in] | Process | The process which pagefile quota is to be returned. |
[in] | Amount | The amount of quotas to return from a process. |
Definition at line 993 of file quota.c.
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 Manager to manage quota returns handling of objects.
[in] | QuotaBlock | The quota block which quotas are to be returned. |
[in] | AmountToReturnPaged | The amount of paged quotas quotas to be returned. |
[in] | AmountToReturnNonPaged | The amount of non paged quotas to be returned. |
Definition at line 621 of file quota.c.
Referenced by ObpDeallocateObject().
Definition at line 48 of file state.c.
Referenced by DbgkpPostFakeThreadMessages(), NtSuspendThread(), and PsSuspendProcess().
Definition at line 129 of file kill.c.
Referenced by DbgkpCloseObject(), and ExpDebuggerWorker().
POBJECT_TYPE _PsProcessType |
POBJECT_TYPE _PsThreadType |
LIST_ENTRY PsActiveProcessHead |
Definition at line 22 of file process.c.
Referenced by KdbpCmdProc(), PsGetNextProcess(), PspCreateProcess(), and PspInitPhase0().
LCID PsDefaultSystemLocaleId |
Definition at line 20 of file locale.c.
Referenced by CmGetSystemControlValues(), MiSessionCreateInternal(), NtQueryDefaultLocale(), and NtSetDefaultLocale().
LCID PsDefaultThreadLocaleId |
Definition at line 24 of file locale.c.
Referenced by _IRQL_requires_max_(), CmGetSystemControlValues(), MmCreateTeb(), and MmGetSessionLocaleId().
PEPROCESS PsIdleProcess |
Definition at line 51 of file psmgr.c.
Referenced by MmInitSystem(), PopGracefulShutdown(), PspInitPhase0(), PspShutdownProcessManager(), and QSI_DEF().
BOOLEAN PsImageNotifyEnabled |
Definition at line 18 of file psnotify.c.
Referenced by DbgkCreateThread(), MmLoadSystemImage(), and PsSetLoadImageNotifyRoutine().
POBJECT_TYPE PsJobType |
Definition at line 20 of file job.c.
Referenced by PspInitPhase0(), and TestObjectTypes().
LIST_ENTRY PsLoadedModuleList |
Definition at line 34 of file sysldr.c.
Referenced by IopInitializeBuiltinDriver(), KdbInitialize(), KdbpSymFindModule(), KdInitSystem(), KiInitModuleList(), KiPcToFileHeader(), MiBuildImportsForBootDrivers(), MiFindInitializationCode(), MiInitializeLoadedModuleList(), MiLookupDataTableEntry(), MiProcessLoaderEntry(), MiResolveImageReferences(), MiSnapThunk(), MmGetSystemRoutineAddress(), MmInitSystem(), MmLoadSystemImage(), and QSI_DEF().
ERESOURCE PsLoadedModuleResource |
Definition at line 37 of file sysldr.c.
Referenced by MiFindInitializationCode(), MiInitializeLoadedModuleList(), MiLoadUserSymbols(), MiProcessLoaderEntry(), MmGetSystemRoutineAddress(), MmInitSystem(), and QSI_DEF().
KSPIN_LOCK PsLoadedModuleSpinLock |
Definition at line 36 of file sysldr.c.
Referenced by KdbInitialize(), KdbpSymFindModule(), MiInitializeLoadedModuleList(), MiProcessLoaderEntry(), and RtlPcToFileHeader().
UNICODE_STRING PsNtDllPathName |
Definition at line 45 of file psmgr.c.
Referenced by DbgkCreateThread(), and PsLocateSystemDll().
ULONG_PTR PsNtosImageBase |
Definition at line 38 of file sysldr.c.
Referenced by KdInitSystem(), MiInitializeLoadedModuleList(), and PspLookupKernelUserEntryPoints().
KGUARDED_MUTEX PspActiveProcessMutex |
Definition at line 23 of file process.c.
Referenced by PsGetNextProcess(), PspCreateProcess(), PspDeleteProcess(), and PspInitPhase0().
PTOKEN PspBootAccessToken |
Definition at line 17 of file security.c.
Referenced by PspInitializeProcessSecurity(), and PspInitPhase0().
PHANDLE_TABLE PspCidTable |
Definition at line 48 of file psmgr.c.
Referenced by PsLookupProcessByProcessId(), PsLookupProcessThreadByCid(), PsLookupThreadByThreadId(), PspCreateProcess(), PspCreateThread(), PspDeleteProcess(), PspDeleteThread(), and PspInitPhase0().
EPROCESS_QUOTA_BLOCK PspDefaultQuotaBlock |
Definition at line 16 of file quota.c.
Referenced by NtQueryInformationProcess(), PsInitializeQuotaSystem(), PspChargeProcessQuotaSpecifiedPool(), PspDereferenceQuotaBlock(), PspInheritQuota(), PspReturnProcessQuotaSpecifiedPool(), and PspSetQuotaLimits().
GENERIC_MAPPING PspJobMapping |
Definition at line 41 of file job.c.
Referenced by PspInitPhase0().
CHAR PspJobSchedulingClasses[PSP_JOB_SCHEDULING_CLASSES] |
Definition at line 27 of file job.c.
Referenced by PsChangeQuantumTable(), and PspComputeQuantumAndPriority().
PLEGO_NOTIFY_ROUTINE PspLegoNotifyRoutine |
Definition at line 24 of file psnotify.c.
Referenced by PspRunLegoRoutine(), and PsSetLegoNotifyRoutine().
EX_CALLBACK PspLoadImageNotifyRoutine[PSP_MAX_LOAD_IMAGE_NOTIFY] |
Definition at line 23 of file psnotify.c.
Referenced by PspInitPhase0(), PspRunLoadImageNotifyRoutines(), PsRemoveLoadImageNotifyRoutine(), and PsSetLoadImageNotifyRoutine().
EX_CALLBACK PspProcessNotifyRoutine[PSP_MAX_CREATE_PROCESS_NOTIFY] |
Definition at line 22 of file psnotify.c.
Referenced by PspInitPhase0(), PspRunCreateProcessNotifyRoutines(), and PsSetCreateProcessNotifyRoutine().
ULONG PspProcessNotifyRoutineCount |
Definition at line 19 of file psnotify.c.
Referenced by PspRunCreateProcessNotifyRoutines(), and PsSetCreateProcessNotifyRoutine().
LIST_ENTRY PspReaperListHead |
WORK_QUEUE_ITEM PspReaperWorkItem |
Definition at line 20 of file kill.c.
Referenced by KeTerminateThread(), and PspInitPhase0().
BOOLEAN PspReaping |
ULONG PsPrioritySeparation |
Definition at line 28 of file process.c.
Referenced by KiDeferredReadyThread(), PsChangeQuantumTable(), and PspComputeQuantumAndPriority().
PVOID PspSystemDllBase |
Definition at line 41 of file psmgr.c.
Referenced by DbgkCreateThread(), PsLocateSystemDll(), PspLookupSystemDllEntryPoint(), and PspUserThreadStartup().
PVOID PspSystemDllEntryPoint |
Definition at line 43 of file psmgr.c.
Referenced by PspInitializeSystemDll(), and PspUserThreadStartup().