diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index a697751b848..6fc0fb2a2a7 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -1595,6 +1595,15 @@ NTSTATUS WINAPI IoWMIRegistrationControl(PDEVICE_OBJECT DeviceObject, ULONG Acti return STATUS_SUCCESS; } +/***************************************************** + * PsSetLoadImageNotifyRoutine (NTOSKRNL.EXE.@) + */ +NTSTATUS WINAPI PsSetLoadImageNotifyRoutine(PLOAD_IMAGE_NOTIFY_ROUTINE routine) +{ + FIXME("(%p) stub\n", routine); + return STATUS_SUCCESS; +} + /***************************************************** * DllMain */ diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec index ed0059e5862..7e4918f27e0 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec @@ -911,7 +911,7 @@ @ stdcall PsSetCreateThreadNotifyRoutine(ptr) @ stub PsSetJobUIRestrictionsClass @ stub PsSetLegoNotifyRoutine -@ stub PsSetLoadImageNotifyRoutine +@ stdcall PsSetLoadImageNotifyRoutine(ptr) @ stub PsSetProcessPriorityByClass @ stub PsSetProcessPriorityClass @ stub PsSetProcessSecurityPort diff --git a/include/ddk/ntddk.h b/include/ddk/ntddk.h index 1ea8d05f162..df589518475 100644 --- a/include/ddk/ntddk.h +++ b/include/ddk/ntddk.h @@ -107,7 +107,28 @@ typedef enum _CONFIGURATION_TYPE MaximunType } CONFIGURATION_TYPE, *PCONFIGURATION_TYPE; +typedef struct _IMAGE_INFO +{ + union + { + ULONG Properties; + struct + { + ULONG ImageAddressingMode : 8; + ULONG SystemModeImage : 1; + ULONG ImageMappedToAllPids : 1; + ULONG ExtendedInfoPresent : 1; + ULONG Reserved : 21; + }; + }; + PVOID ImageBase; + ULONG ImageSelector; + SIZE_T ImageSize; + ULONG ImageSectionNumber; +} IMAGE_INFO, *PIMAGE_INFO; + typedef VOID (WINAPI *PDRIVER_REINITIALIZE)(PDRIVER_OBJECT,PVOID,ULONG); +typedef VOID (WINAPI *PLOAD_IMAGE_NOTIFY_ROUTINE)(PUNICODE_STRING,HANDLE,PIMAGE_INFO); typedef NTSTATUS (WINAPI *PIO_QUERY_DEVICE_ROUTINE)(PVOID,PUNICODE_STRING,INTERFACE_TYPE,ULONG, PKEY_VALUE_FULL_INFORMATION*,CONFIGURATION_TYPE,ULONG,PKEY_VALUE_FULL_INFORMATION*); @@ -115,5 +136,6 @@ NTSTATUS WINAPI IoQueryDeviceDescription(PINTERFACE_TYPE,PULONG,PCONFIGURATION_ PCONFIGURATION_TYPE,PULONG,PIO_QUERY_DEVICE_ROUTINE,PVOID); void WINAPI IoRegisterDriverReinitialization(PDRIVER_OBJECT,PDRIVER_REINITIALIZE,PVOID); NTSTATUS WINAPI IoRegisterShutdownNotification(PDEVICE_OBJECT); +NTSTATUS WINAPI PsSetLoadImageNotifyRoutine(PLOAD_IMAGE_NOTIFY_ROUTINE); #endif