Implement system and idle process creation and initialization functions
Some checks failed
Builds / ExectOS (i686, release) (push) Failing after 25s
Builds / ExectOS (i686, debug) (push) Failing after 36s
Builds / ExectOS (amd64, debug) (push) Failing after 39s
Builds / ExectOS (amd64, release) (push) Failing after 27s

This commit is contained in:
2026-07-14 21:41:15 +02:00
parent 06291d2525
commit b256c260b9
3 changed files with 187 additions and 0 deletions

View File

@@ -18,13 +18,31 @@ namespace PS
class Process
{
private:
STATIC PEPROCESS IdleProcess;
STATIC PEPROCESS SystemProcess;
STATIC HANDLE SystemProcessHandle;
public:
STATIC XTAPI XTSTATUS CreateIdleProcess(IN PKPROCESSOR_CONTROL_BLOCK Prcb);
STATIC XTAPI XTSTATUS CreateInitialSystemProcess(VOID);
STATIC XTAPI XTSTATUS CreateSystemProcess(OUT PHANDLE ProcessHandle,
IN ACCESS_MASK AccessMask,
IN POBJECT_ATTRIBUTES Attributes);
STATIC XTAPI VOID DeleteProcess(IN PVOID ProcessObject);
STATIC XTFASTCALL PEPROCESS GetCurrentProcess(VOID);
STATIC XTFASTCALL PEPROCESS GetSystemProcess(VOID);
STATIC XTAPI VOID InitializeIdleProcess(VOID);
private:
STATIC XTAPI XTSTATUS CreateKernelProcess(OUT PHANDLE ProcessHandle,
IN ACCESS_MASK AccessMask,
IN POBJECT_ATTRIBUTES Attributes,
IN HANDLE ParentProcess,
IN ULONG Flags,
IN HANDLE SectionHandle,
IN HANDLE DebugPort,
IN HANDLE ExceptionPort,
IN BOOLEAN JobMember);
};
}