Module: wine Branch: master Commit: 9566c50a1eec40b84ecaa63821d526efd0d3fe32 URL: https://source.winehq.org/git/wine.git/?a=commit;h=9566c50a1eec40b84ecaa6382...
Author: Austin English austinenglish@gmail.com Date: Thu Mar 1 16:02:38 2018 -0600
ntoskrnl.exe: Add PsSetCreateProcessNotifyRoutineEx stub.
Signed-off-by: Austin English austinenglish@gmail.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/ntoskrnl.exe/ntoskrnl.c | 11 +++++++++++ dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 1 + include/ddk/ntddk.h | 18 ++++++++++++++++++ 3 files changed, 30 insertions(+)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index 4342902..10f69ba 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -68,6 +68,7 @@ typedef struct _KSERVICE_TABLE_DESCRIPTOR KSERVICE_TABLE_DESCRIPTOR KeServiceDescriptorTable[4] = { { 0 } };
typedef void (WINAPI *PCREATE_PROCESS_NOTIFY_ROUTINE)(HANDLE,HANDLE,BOOLEAN); +typedef void (WINAPI *PCREATE_PROCESS_NOTIFY_ROUTINE_EX)(PEPROCESS,HANDLE,PPS_CREATE_NOTIFY_INFO); typedef void (WINAPI *PCREATE_THREAD_NOTIFY_ROUTINE)(HANDLE,HANDLE,BOOLEAN);
static const WCHAR servicesW[] = {'\','R','e','g','i','s','t','r','y', @@ -2389,6 +2390,16 @@ NTSTATUS WINAPI PsSetCreateProcessNotifyRoutine( PCREATE_PROCESS_NOTIFY_ROUTINE
/*********************************************************************** + * PsSetCreateProcessNotifyRoutineEx (NTOSKRNL.EXE.@) + */ +NTSTATUS WINAPI PsSetCreateProcessNotifyRoutineEx( PCREATE_PROCESS_NOTIFY_ROUTINE_EX callback, BOOLEAN remove ) +{ + FIXME( "stub: %p %d\n", callback, remove ); + return STATUS_SUCCESS; +} + + +/*********************************************************************** * PsSetCreateThreadNotifyRoutine (NTOSKRNL.EXE.@) */ NTSTATUS WINAPI PsSetCreateThreadNotifyRoutine( PCREATE_THREAD_NOTIFY_ROUTINE NotifyRoutine ) diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec index 7f43704..ebf1705 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec @@ -912,6 +912,7 @@ @ stub PsRevertToSelf @ stub PsSetContextThread @ stdcall PsSetCreateProcessNotifyRoutine(ptr long) +@ stdcall PsSetCreateProcessNotifyRoutineEx(ptr long) @ stdcall PsSetCreateThreadNotifyRoutine(ptr) @ stub PsSetJobUIRestrictionsClass @ stub PsSetLegoNotifyRoutine diff --git a/include/ddk/ntddk.h b/include/ddk/ntddk.h index 6aae257..5c124ca 100644 --- a/include/ddk/ntddk.h +++ b/include/ddk/ntddk.h @@ -186,6 +186,24 @@ typedef struct _RTL_AVL_TABLE { void *TableContext; } RTL_AVL_TABLE, *PRTL_AVL_TABLE;
+typedef struct _PS_CREATE_NOTIFY_INFO { + SIZE_T Size; + union { + ULONG Flags; + struct { + ULONG FileOpenNameAvailable :1; + ULONG IsSubsystemProcess :1; + ULONG Reserved :30; + } DUMMYSTRUCTNAME; + } DUMMYUNIONNAME; + HANDLE ParentProcessId; + CLIENT_ID CreatingThreadId; + struct _FILE_OBJECT *FileObject; + PCUNICODE_STRING ImageFileName; + PCUNICODE_STRING CommandLine; + NTSTATUS CreationStatus; +} PS_CREATE_NOTIFY_INFO, *PPS_CREATE_NOTIFY_INFO; + typedef VOID (WINAPI *PDRIVER_NOTIFICATION_CALLBACK_ROUTINE)(PVOID,PVOID); typedef VOID (WINAPI *PDRIVER_REINITIALIZE)(PDRIVER_OBJECT,PVOID,ULONG); typedef VOID (WINAPI *PLOAD_IMAGE_NOTIFY_ROUTINE)(PUNICODE_STRING,HANDLE,PIMAGE_INFO);