diff --git a/reactos/ntoskrnl/include/internal/ntoskrnl.h b/reactos/ntoskrnl/include/internal/ntoskrnl.h index d62290a1dbb..4dae11587b5 100644 --- a/reactos/ntoskrnl/include/internal/ntoskrnl.h +++ b/reactos/ntoskrnl/include/internal/ntoskrnl.h @@ -17,8 +17,10 @@ #ifdef _NTOSKRNL_ -#define KeGetCurrentThread _KeGetCurrentThread -#define KeGetPreviousMode _KeGetPreviousMode +#define KeGetCurrentThread _KeGetCurrentThread +#define KeGetPreviousMode _KeGetPreviousMode +#undef PsGetCurrentProcess +#define PsGetCurrentProcess _PsGetCurrentProcess #include "ke.h" #include "i386/mm.h" diff --git a/reactos/ntoskrnl/include/internal/ps_x.h b/reactos/ntoskrnl/include/internal/ps_x.h index ec6ed9cddb1..afd220aa6f7 100644 --- a/reactos/ntoskrnl/include/internal/ps_x.h +++ b/reactos/ntoskrnl/include/internal/ps_x.h @@ -179,3 +179,11 @@ PspUnlockThreadSecurityExclusive(IN PETHREAD Thread) /* Leave Critical Thread */ KeLeaveCriticalRegion(); } + +PEPROCESS +FORCEINLINE +_PsGetCurrentProcess(VOID) +{ + /* Get the current process */ + return (PEPROCESS)KeGetCurrentThread()->ApcState.Process; +}