From: Andrey Gusev andrey.goosev@gmail.com
BattlEye says it's missing. --- dlls/ntoskrnl.exe/ntoskrnl.c | 10 +++++++++- dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 1 + include/ddk/ntddk.h | 1 + 3 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index 7e3ad603549..0c426c821fb 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -3499,7 +3499,15 @@ NTSTATUS WINAPI IoWMIOpenBlock(LPCGUID guid, ULONG desired_access, PVOID *data_b */ NTSTATUS WINAPI PsSetLoadImageNotifyRoutine(PLOAD_IMAGE_NOTIFY_ROUTINE routine) { - FIXME("routine %p, semi-stub.\n", routine); + return PsSetLoadImageNotifyRoutineEx(routine, 0); +} + +/***************************************************** + * PsSetLoadImageNotifyRoutineEx (NTOSKRNL.EXE.@) + */ +NTSTATUS WINAPI PsSetLoadImageNotifyRoutineEx(PLOAD_IMAGE_NOTIFY_ROUTINE routine, ULONG_PTR flags) +{ + FIXME("routine %p, flags %Ix semi-stub.\n", routine, flags);
if (load_image_notify_routine_count == ARRAY_SIZE(load_image_notify_routines)) return STATUS_INSUFFICIENT_RESOURCES; diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec index 068806e52bc..9791b01e237 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec @@ -967,6 +967,7 @@ @ stub PsSetJobUIRestrictionsClass @ stub PsSetLegoNotifyRoutine @ stdcall PsSetLoadImageNotifyRoutine(ptr) +@ stdcall PsSetLoadImageNotifyRoutineEx(ptr long) @ stub PsSetProcessPriorityByClass @ stub PsSetProcessPriorityClass @ stub PsSetProcessSecurityPort diff --git a/include/ddk/ntddk.h b/include/ddk/ntddk.h index a6b2974ee6a..9072b9121a0 100644 --- a/include/ddk/ntddk.h +++ b/include/ddk/ntddk.h @@ -265,6 +265,7 @@ NTSTATUS WINAPI PsSetCreateProcessNotifyRoutine(PCREATE_PROCESS_NOTIFY_ROUTINE, NTSTATUS WINAPI PsSetCreateProcessNotifyRoutineEx(PCREATE_PROCESS_NOTIFY_ROUTINE_EX,BOOLEAN); NTSTATUS WINAPI PsSetCreateThreadNotifyRoutine(PCREATE_THREAD_NOTIFY_ROUTINE); NTSTATUS WINAPI PsSetLoadImageNotifyRoutine(PLOAD_IMAGE_NOTIFY_ROUTINE); +NTSTATUS WINAPI PsSetLoadImageNotifyRoutineEx(PLOAD_IMAGE_NOTIFY_ROUTINE,ULONG_PTR); void * WINAPI RtlGetElementGenericTable(PRTL_GENERIC_TABLE,ULONG); void WINAPI RtlInitializeGenericTable(PRTL_GENERIC_TABLE,PRTL_GENERIC_COMPARE_ROUTINE,PRTL_GENERIC_ALLOCATE_ROUTINE,PRTL_GENERIC_FREE_ROUTINE,void *); void WINAPI RtlInitializeGenericTableAvl(PRTL_AVL_TABLE,PRTL_AVL_COMPARE_ROUTINE,PRTL_AVL_ALLOCATE_ROUTINE, PRTL_AVL_FREE_ROUTINE,void *);