From: Stefan Leichter Subject: ntoskrnl.exe: Add stub for PsSetLoadImageNotifyRoutine Message-Id: <201102142236.21362.Stefan.Leichter@camline.com> Date: Mon, 14 Feb 2011 22:36:20 +0100 --- dlls/ntoskrnl.exe/ntoskrnl.c | 9 +++++++++ dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 2 +- include/ddk/ntddk.h | 22 ++++++++++++++++++++++ 3 files changed, 32 insertions(+), 1 deletions(-) diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index 4f70b98..04acc3f 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -1572,6 +1572,15 @@ NTSTATUS WINAPI IoWMIRegistrationControl(PDEVICE_OBJECT DeviceObject, ULONG Acti } /***************************************************** + * PsSetLoadImageNotifyRoutine (NTOSKRNL.EXE.@) + */ +NTSTATUS WINAPI PsSetLoadImageNotifyRoutine(PLOAD_IMAGE_NOTIFY_ROUTINE routine) +{ + FIXME("(%p) stub\n", routine); + return STATUS_SUCCESS; +} + +/***************************************************** * DllMain */ BOOL WINAPI DllMain( HINSTANCE inst, DWORD reason, LPVOID reserved ) diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec index 6d645ad..2be655c 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 1ea8d05..9216e65 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 ImageAdressingMode : 8; + ULONG SystemModeImage : 1; + ULONG ImageMappedToAllPids : 1; + ULONG ExtendedInfoPresent : 1; + ULONG Reserved : 21; + }; + }; + PVOID ImageBase; + ULONG ImageSelector; + SIZE_T ImageSize; + ULONG ImageSelectorNumber; +} 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