diff --git a/patches/ntoskrnl-Ob_callbacks/0001-include-Add-more-typedefs-to-wdm.h.patch b/patches/ntoskrnl-Ob_callbacks/0001-include-Add-more-typedefs-to-wdm.h.patch new file mode 100644 index 00000000..ae7d0f9a --- /dev/null +++ b/patches/ntoskrnl-Ob_callbacks/0001-include-Add-more-typedefs-to-wdm.h.patch @@ -0,0 +1,128 @@ +From a1f421186a42a54456a7507f117c135d8a248040 Mon Sep 17 00:00:00 2001 +From: Alistair Leslie-Hughes +Date: Fri, 9 Mar 2018 14:21:46 +1100 +Subject: [PATCH] include: Add more typedefs to wdm.h + +Signed-off-by: Alistair Leslie-Hughes +--- + include/ddk/wdm.h | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 97 insertions(+) + +diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h +index 8f5b909447..d874a35daa 100644 +--- a/include/ddk/wdm.h ++++ b/include/ddk/wdm.h +@@ -44,6 +44,7 @@ typedef ULONG_PTR KSPIN_LOCK, *PKSPIN_LOCK; + + typedef ULONG_PTR ERESOURCE_THREAD; + typedef ERESOURCE_THREAD *PERESOURCE_THREAD; ++typedef struct _FILE_GET_QUOTA_INFORMATION *PFILE_GET_QUOTA_INFORMATION; + + struct _KDPC; + struct _KAPC; +@@ -1291,6 +1292,102 @@ typedef struct LOOKASIDE_ALIGN _NPAGED_LOOKASIDE_LIST + typedef NTSTATUS (NTAPI EX_CALLBACK_FUNCTION)(void *CallbackContext, void *Argument1, void *Argument2); + typedef EX_CALLBACK_FUNCTION *PEX_CALLBACK_FUNCTION; + ++typedef ULONG OB_OPERATION; ++ ++typedef struct _OB_PRE_CREATE_HANDLE_INFORMATION { ++ ACCESS_MASK DesiredAccess; ++ ACCESS_MASK OriginalDesiredAccess; ++} OB_PRE_CREATE_HANDLE_INFORMATION, *POB_PRE_CREATE_HANDLE_INFORMATION; ++ ++typedef struct _OB_PRE_DUPLICATE_HANDLE_INFORMATION { ++ ACCESS_MASK DesiredAccess; ++ ACCESS_MASK OriginalDesiredAccess; ++ PVOID SourceProcess; ++ PVOID TargetProcess; ++} OB_PRE_DUPLICATE_HANDLE_INFORMATION, *POB_PRE_DUPLICATE_HANDLE_INFORMATION; ++ ++typedef union _OB_PRE_OPERATION_PARAMETERS { ++ OB_PRE_CREATE_HANDLE_INFORMATION CreateHandleInformation; ++ OB_PRE_DUPLICATE_HANDLE_INFORMATION DuplicateHandleInformation; ++} OB_PRE_OPERATION_PARAMETERS, *POB_PRE_OPERATION_PARAMETERS; ++ ++typedef struct _OB_PRE_OPERATION_INFORMATION { ++ OB_OPERATION Operation; ++ union { ++ ULONG Flags; ++ struct { ++ ULONG KernelHandle:1; ++ ULONG Reserved:31; ++ } DUMMYSTRUCTNAME; ++ } DUMMYUNIONNAME; ++ PVOID Object; ++ POBJECT_TYPE ObjectType; ++ PVOID CallContext; ++ POB_PRE_OPERATION_PARAMETERS Parameters; ++} OB_PRE_OPERATION_INFORMATION, *POB_PRE_OPERATION_INFORMATION; ++ ++typedef struct _OB_POST_CREATE_HANDLE_INFORMATION { ++ IN ACCESS_MASK GrantedAccess; ++} OB_POST_CREATE_HANDLE_INFORMATION, *POB_POST_CREATE_HANDLE_INFORMATION; ++ ++typedef struct _OB_POST_DUPLICATE_HANDLE_INFORMATION { ++ IN ACCESS_MASK GrantedAccess; ++} OB_POST_DUPLICATE_HANDLE_INFORMATION, *POB_POST_DUPLICATE_HANDLE_INFORMATION; ++ ++typedef union _OB_POST_OPERATION_PARAMETERS { ++ IN OB_POST_CREATE_HANDLE_INFORMATION CreateHandleInformation; ++ IN OB_POST_DUPLICATE_HANDLE_INFORMATION DuplicateHandleInformation; ++} OB_POST_OPERATION_PARAMETERS, *POB_POST_OPERATION_PARAMETERS; ++ ++typedef struct _OB_POST_OPERATION_INFORMATION { ++ OB_OPERATION Operation; ++ union { ++ IN ULONG Flags; ++ struct { ++ ULONG KernelHandle:1; ++ ULONG Reserved:31; ++ } DUMMYSTRUCTNAME; ++ } DUMMYUNIONNAME; ++ PVOID Object; ++ POBJECT_TYPE ObjectType; ++ PVOID CallContext; ++ NTSTATUS ReturnStatus; ++ POB_POST_OPERATION_PARAMETERS Parameters; ++} OB_POST_OPERATION_INFORMATION,*POB_POST_OPERATION_INFORMATION; ++ ++typedef enum _OB_PREOP_CALLBACK_STATUS { ++ OB_PREOP_SUCCESS ++} OB_PREOP_CALLBACK_STATUS, *POB_PREOP_CALLBACK_STATUS; ++ ++typedef OB_PREOP_CALLBACK_STATUS ++(WINAPI *POB_PRE_OPERATION_CALLBACK)(void *context, POB_PRE_OPERATION_INFORMATION information); ++ ++typedef void ++(WINAPI *POB_POST_OPERATION_CALLBACK)(void *context, POB_POST_OPERATION_INFORMATION information); ++ ++typedef struct _OB_OPERATION_REGISTRATION { ++ POBJECT_TYPE *ObjectType; ++ OB_OPERATION Operations; ++ POB_PRE_OPERATION_CALLBACK PreOperation; ++ POB_POST_OPERATION_CALLBACK PostOperation; ++} OB_OPERATION_REGISTRATION, *POB_OPERATION_REGISTRATION; ++ ++typedef struct _OB_CALLBACK_REGISTRATION { ++ USHORT Version; ++ USHORT OperationRegistrationCount; ++ UNICODE_STRING Altitude; ++ PVOID RegistrationContext; ++ OB_OPERATION_REGISTRATION *OperationRegistration; ++} OB_CALLBACK_REGISTRATION, *POB_CALLBACK_REGISTRATION; ++ ++#define OB_FLT_REGISTRATION_VERSION_0100 0x0100 ++#define OB_FLT_REGISTRATION_VERSION OB_FLT_REGISTRATION_VERSION_0100 ++ ++typedef enum _DIRECTORY_NOTIFY_INFORMATION_CLASS { ++ DirectoryNotifyInformation = 1, ++ DirectoryNotifyExtendedInformation ++} DIRECTORY_NOTIFY_INFORMATION_CLASS, *PDIRECTORY_NOTIFY_INFORMATION_CLASS; ++ + NTSTATUS WINAPI ObCloseHandle(IN HANDLE handle); + + #ifdef NONAMELESSUNION +-- +2.16.1 + diff --git a/patches/ntoskrnl-Ob_callbacks/0002-include-Add-more-types-to-ntifs.h.patch b/patches/ntoskrnl-Ob_callbacks/0002-include-Add-more-types-to-ntifs.h.patch new file mode 100644 index 00000000..765b6036 --- /dev/null +++ b/patches/ntoskrnl-Ob_callbacks/0002-include-Add-more-types-to-ntifs.h.patch @@ -0,0 +1,50 @@ +From de2e5f34189173bb594b68fc392268c8820589e6 Mon Sep 17 00:00:00 2001 +From: Alistair Leslie-Hughes +Date: Fri, 9 Mar 2018 16:27:51 +1100 +Subject: [PATCH] include: Add more types to ntifs.h + +Signed-off-by: Alistair Leslie-Hughes +--- + include/ddk/ntifs.h | 17 +++++++++++++++++ + 1 file changed, 17 insertions(+) + +diff --git a/include/ddk/ntifs.h b/include/ddk/ntifs.h +index 32c9e3084b..5e7dd18c7e 100644 +--- a/include/ddk/ntifs.h ++++ b/include/ddk/ntifs.h +@@ -19,8 +19,24 @@ + #ifndef __NTIFS_H__ + #define __NTIFS_H__ + ++#include "ntddk.h" ++ + typedef struct _EX_PUSH_LOCK EX_PUSH_LOCK, *PEX_PUSH_LOCK; + ++typedef enum _FS_FILTER_SECTION_SYNC_TYPE ++{ ++ SyncTypeOther = 0, ++ SyncTypeCreateSection ++} FS_FILTER_SECTION_SYNC_TYPE, *PFS_FILTER_SECTION_SYNC_TYPE; ++ ++typedef struct _FS_FILTER_SECTION_SYNC_OUTPUT ++{ ++ ULONG StructureSize; ++ ULONG SizeReturned; ++ ULONG Flags; ++ ULONG DesiredReadAlignment; ++} FS_FILTER_SECTION_SYNC_OUTPUT, *PFS_FILTER_SECTION_SYNC_OUTPUT; ++ + typedef struct _KQUEUE + { + DISPATCHER_HEADER Header; +@@ -30,6 +46,7 @@ typedef struct _KQUEUE + LIST_ENTRY ThreadListHead; + } KQUEUE, *PKQUEUE, *RESTRICTED_POINTER PRKQUEUE; + ++ + NTSTATUS WINAPI ObQueryNameString(PVOID,POBJECT_NAME_INFORMATION,ULONG,PULONG); + + #endif +-- +2.16.1 + diff --git a/patches/ntoskrnl-Ob_callbacks/0003-ntoskrnl.exe-Add-ObRegisterCallbacks-stub.patch b/patches/ntoskrnl-Ob_callbacks/0003-ntoskrnl.exe-Add-ObRegisterCallbacks-stub.patch new file mode 100644 index 00000000..b06ccf41 --- /dev/null +++ b/patches/ntoskrnl-Ob_callbacks/0003-ntoskrnl.exe-Add-ObRegisterCallbacks-stub.patch @@ -0,0 +1,62 @@ +From 2577f27639376d7e4bf1a58d9c08e4944d1242e6 Mon Sep 17 00:00:00 2001 +From: Alistair Leslie-Hughes +Date: Fri, 9 Mar 2018 14:26:26 +1100 +Subject: [PATCH] ntoskrnl.exe: Add ObRegisterCallbacks stub + +Signed-off-by: Alistair Leslie-Hughes +--- + dlls/ntoskrnl.exe/ntoskrnl.c | 12 ++++++++++++ + dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 1 + + include/ddk/wdm.h | 1 + + 3 files changed, 14 insertions(+) + +diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c +index 57bf33e07f..91ad00af2b 100644 +--- a/dlls/ntoskrnl.exe/ntoskrnl.c ++++ b/dlls/ntoskrnl.exe/ntoskrnl.c +@@ -2408,6 +2408,18 @@ void WINAPI ObfDereferenceObject( void *obj ) + ObDereferenceObject( obj ); + } + ++/*********************************************************************** ++ * ObRegisterCallbacks (NTOSKRNL.EXE.@) ++ */ ++NTSTATUS WINAPI ObRegisterCallbacks(POB_CALLBACK_REGISTRATION *callBack, void **handle) ++{ ++ FIXME( "stub: %p %p\n", callBack, handle ); ++ ++ if(handle) ++ *handle = UlongToHandle(0xdeadbeaf); ++ ++ return STATUS_SUCCESS; ++} + + /*********************************************************************** + * IoGetAttachedDeviceReference (NTOSKRNL.EXE.@) +diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +index 7580a96cd8..56f01dd2ba 100644 +--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec ++++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +@@ -817,6 +817,7 @@ + @ stdcall ObReferenceObjectByName(ptr long ptr long ptr long ptr ptr) + @ stdcall ObReferenceObjectByPointer(ptr long ptr long) + @ stub ObReferenceSecurityDescriptor ++@ stdcall ObRegisterCallbacks(ptr ptr) + @ stub ObReleaseObjectSecurity + @ stub ObSetHandleAttributes + @ stub ObSetSecurityDescriptorInfo +diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h +index d874a35daa..5e575236f2 100644 +--- a/include/ddk/wdm.h ++++ b/include/ddk/wdm.h +@@ -1501,6 +1501,7 @@ static inline void *MmGetSystemAddressForMdlSafe(MDL *mdl, ULONG priority) + } + + void WINAPI ObDereferenceObject(void*); ++NTSTATUS WINAPI ObRegisterCallbacks(POB_CALLBACK_REGISTRATION*, void**); + NTSTATUS WINAPI ObReferenceObjectByHandle(HANDLE,ACCESS_MASK,POBJECT_TYPE,KPROCESSOR_MODE,PVOID*,POBJECT_HANDLE_INFORMATION); + NTSTATUS WINAPI ObReferenceObjectByName(UNICODE_STRING*,ULONG,ACCESS_STATE*,ACCESS_MASK,POBJECT_TYPE,KPROCESSOR_MODE,void*,void**); + NTSTATUS WINAPI ObReferenceObjectByPointer(void*,ACCESS_MASK,POBJECT_TYPE,KPROCESSOR_MODE); +-- +2.16.1 + diff --git a/patches/ntoskrnl-Ob_callbacks/0004-ntoskrnl.exe-Add-ObUnRegisterCallbacks-stub.patch b/patches/ntoskrnl-Ob_callbacks/0004-ntoskrnl.exe-Add-ObUnRegisterCallbacks-stub.patch new file mode 100644 index 00000000..d0007e9f --- /dev/null +++ b/patches/ntoskrnl-Ob_callbacks/0004-ntoskrnl.exe-Add-ObUnRegisterCallbacks-stub.patch @@ -0,0 +1,58 @@ +From 574e5ae9b3ba97c0e5a8288b56a69eea109d621c Mon Sep 17 00:00:00 2001 +From: Alistair Leslie-Hughes +Date: Fri, 9 Mar 2018 14:29:35 +1100 +Subject: [PATCH] ntoskrnl.exe: Add ObUnRegisterCallbacks stub + +Signed-off-by: Alistair Leslie-Hughes +--- + dlls/ntoskrnl.exe/ntoskrnl.c | 8 ++++++++ + dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 1 + + include/ddk/wdm.h | 1 + + 3 files changed, 10 insertions(+) + +diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c +index 91ad00af2b..346054cf43 100644 +--- a/dlls/ntoskrnl.exe/ntoskrnl.c ++++ b/dlls/ntoskrnl.exe/ntoskrnl.c +@@ -2421,6 +2421,14 @@ NTSTATUS WINAPI ObRegisterCallbacks(POB_CALLBACK_REGISTRATION *callBack, void ** + return STATUS_SUCCESS; + } + ++/*********************************************************************** ++ * ObUnRegisterCallbacks (NTOSKRNL.EXE.@) ++ */ ++void WINAPI ObUnRegisterCallbacks(void *handle) ++{ ++ FIXME( "stub: %p\n", handle ); ++} ++ + /*********************************************************************** + * IoGetAttachedDeviceReference (NTOSKRNL.EXE.@) + */ +diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +index 56f01dd2ba..83962c795a 100644 +--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec ++++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +@@ -822,6 +822,7 @@ + @ stub ObSetHandleAttributes + @ stub ObSetSecurityDescriptorInfo + @ stub ObSetSecurityObjectByPointer ++@ stdcall ObUnRegisterCallbacks(ptr) + @ stub PfxFindPrefix + @ stub PfxInitialize + @ stub PfxInsertPrefix +diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h +index 5e575236f2..543a0c49ac 100644 +--- a/include/ddk/wdm.h ++++ b/include/ddk/wdm.h +@@ -1505,6 +1505,7 @@ NTSTATUS WINAPI ObRegisterCallbacks(POB_CALLBACK_REGISTRATION*, void**); + NTSTATUS WINAPI ObReferenceObjectByHandle(HANDLE,ACCESS_MASK,POBJECT_TYPE,KPROCESSOR_MODE,PVOID*,POBJECT_HANDLE_INFORMATION); + NTSTATUS WINAPI ObReferenceObjectByName(UNICODE_STRING*,ULONG,ACCESS_STATE*,ACCESS_MASK,POBJECT_TYPE,KPROCESSOR_MODE,void*,void**); + NTSTATUS WINAPI ObReferenceObjectByPointer(void*,ACCESS_MASK,POBJECT_TYPE,KPROCESSOR_MODE); ++void WINAPI ObUnRegisterCallbacks(void*); + + POWER_STATE WINAPI PoSetPowerState(PDEVICE_OBJECT,POWER_STATE_TYPE,POWER_STATE); + NTSTATUS WINAPI PsCreateSystemThread(PHANDLE,ULONG,POBJECT_ATTRIBUTES,HANDLE,PCLIENT_ID,PKSTART_ROUTINE,PVOID); +-- +2.16.1 + diff --git a/patches/ntoskrnl-Ob_callbacks/0005-ntoskrnl.exe-Add-ObGetFilterVersion-stub.patch b/patches/ntoskrnl-Ob_callbacks/0005-ntoskrnl.exe-Add-ObGetFilterVersion-stub.patch new file mode 100644 index 00000000..8c0ebd9e --- /dev/null +++ b/patches/ntoskrnl-Ob_callbacks/0005-ntoskrnl.exe-Add-ObGetFilterVersion-stub.patch @@ -0,0 +1,60 @@ +From cb7e55670fb25d96060dad308ad69528fcc27084 Mon Sep 17 00:00:00 2001 +From: Alistair Leslie-Hughes +Date: Fri, 9 Mar 2018 14:32:28 +1100 +Subject: [PATCH] ntoskrnl.exe: Add ObGetFilterVersion stub + +Signed-off-by: Alistair Leslie-Hughes +--- + dlls/ntoskrnl.exe/ntoskrnl.c | 10 ++++++++++ + dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 1 + + include/ddk/wdm.h | 1 + + 3 files changed, 12 insertions(+) + +diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c +index 346054cf43..13818f667c 100644 +--- a/dlls/ntoskrnl.exe/ntoskrnl.c ++++ b/dlls/ntoskrnl.exe/ntoskrnl.c +@@ -2429,6 +2429,16 @@ void WINAPI ObUnRegisterCallbacks(void *handle) + FIXME( "stub: %p\n", handle ); + } + ++/*********************************************************************** ++ * ObGetFilterVersion (NTOSKRNL.EXE.@) ++ */ ++USHORT WINAPI ObGetFilterVersion(void) ++{ ++ FIXME( "stub:\n" ); ++ ++ return OB_FLT_REGISTRATION_VERSION; ++} ++ + /*********************************************************************** + * IoGetAttachedDeviceReference (NTOSKRNL.EXE.@) + */ +diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +index 83962c795a..d68f2d3713 100644 +--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec ++++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +@@ -805,6 +805,7 @@ + @ stdcall ObDereferenceObject(ptr) + @ stub ObDereferenceSecurityDescriptor + @ stub ObFindHandleForObject ++@ stdcall ObGetFilterVersion() + @ stub ObGetObjectSecurity + @ stub ObInsertObject + @ stub ObLogSecurityDescriptor +diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h +index 543a0c49ac..eef00e0aae 100644 +--- a/include/ddk/wdm.h ++++ b/include/ddk/wdm.h +@@ -1501,6 +1501,7 @@ static inline void *MmGetSystemAddressForMdlSafe(MDL *mdl, ULONG priority) + } + + void WINAPI ObDereferenceObject(void*); ++USHORT WINAPI ObGetFilterVersion(void); + NTSTATUS WINAPI ObRegisterCallbacks(POB_CALLBACK_REGISTRATION*, void**); + NTSTATUS WINAPI ObReferenceObjectByHandle(HANDLE,ACCESS_MASK,POBJECT_TYPE,KPROCESSOR_MODE,PVOID*,POBJECT_HANDLE_INFORMATION); + NTSTATUS WINAPI ObReferenceObjectByName(UNICODE_STRING*,ULONG,ACCESS_STATE*,ACCESS_MASK,POBJECT_TYPE,KPROCESSOR_MODE,void*,void**); +-- +2.16.1 + diff --git a/patches/ntoskrnl-Ob_callbacks/definition b/patches/ntoskrnl-Ob_callbacks/definition new file mode 100644 index 00000000..cdf68573 --- /dev/null +++ b/patches/ntoskrnl-Ob_callbacks/definition @@ -0,0 +1,2 @@ +Fixes: [44497] Add stubs for ObRegisterCallbacks, ObUnRegisterCallbacks, ObGetFilterVersion +Depends: ntoskrnl-Stubs diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index a5b5c4a2..521094ca 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -273,6 +273,7 @@ patch_enable_all () enable_ntdll_call_thread_func_wrapper="$1" enable_ntdll_set_full_cpu_context="$1" enable_ntdll_x86_64_ExceptionInformation="$1" + enable_ntoskrnl_Ob_callbacks="$1" enable_ntoskrnl_Stubs="$1" enable_nvapi_Stub_DLL="$1" enable_nvcuda_CUDA_Support="$1" @@ -1039,6 +1040,9 @@ patch_enable () ntdll-x86_64_ExceptionInformation) enable_ntdll_x86_64_ExceptionInformation="$2" ;; + ntoskrnl-Ob_callbacks) + enable_ntoskrnl_Ob_callbacks="$2" + ;; ntoskrnl-Stubs) enable_ntoskrnl_Stubs="$2" ;; @@ -2289,6 +2293,13 @@ if test "$enable_nvapi_Stub_DLL" -eq 1; then enable_nvcuda_CUDA_Support=1 fi +if test "$enable_ntoskrnl_Ob_callbacks" -eq 1; then + if test "$enable_ntoskrnl_Stubs" -gt 1; then + abort "Patchset ntoskrnl-Stubs disabled, but ntoskrnl-Ob_callbacks depends on that." + fi + enable_ntoskrnl_Stubs=1 +fi + if test "$enable_ntoskrnl_Stubs" -eq 1; then if test "$enable_Compiler_Warnings" -gt 1; then abort "Patchset Compiler_Warnings disabled, but ntoskrnl-Stubs depends on that." @@ -6230,6 +6241,32 @@ if test "$enable_ntoskrnl_Stubs" -eq 1; then ) >> "$patchlist" fi +# Patchset ntoskrnl-Ob_callbacks +# | +# | This patchset has the following (direct or indirect) dependencies: +# | * Compiler_Warnings, ntdll-NtAllocateUuids, ntoskrnl-Stubs +# | +# | This patchset fixes the following Wine bugs: +# | * [#44497] Add stubs for ObRegisterCallbacks, ObUnRegisterCallbacks, ObGetFilterVersion +# | +# | Modified files: +# | * dlls/ntoskrnl.exe/ntoskrnl.c, dlls/ntoskrnl.exe/ntoskrnl.exe.spec, include/ddk/ntifs.h, include/ddk/wdm.h +# | +if test "$enable_ntoskrnl_Ob_callbacks" -eq 1; then + patch_apply ntoskrnl-Ob_callbacks/0001-include-Add-more-typedefs-to-wdm.h.patch + patch_apply ntoskrnl-Ob_callbacks/0002-include-Add-more-types-to-ntifs.h.patch + patch_apply ntoskrnl-Ob_callbacks/0003-ntoskrnl.exe-Add-ObRegisterCallbacks-stub.patch + patch_apply ntoskrnl-Ob_callbacks/0004-ntoskrnl.exe-Add-ObUnRegisterCallbacks-stub.patch + patch_apply ntoskrnl-Ob_callbacks/0005-ntoskrnl.exe-Add-ObGetFilterVersion-stub.patch + ( + printf '%s\n' '+ { "Alistair Leslie-Hughes", "include: Add more typedefs to wdm.h.", 1 },'; + printf '%s\n' '+ { "Alistair Leslie-Hughes", "include: Add more types to ntifs.h.", 1 },'; + printf '%s\n' '+ { "Alistair Leslie-Hughes", "ntoskrnl.exe: Add ObRegisterCallbacks stub.", 1 },'; + printf '%s\n' '+ { "Alistair Leslie-Hughes", "ntoskrnl.exe: Add ObUnRegisterCallbacks stub.", 1 },'; + printf '%s\n' '+ { "Alistair Leslie-Hughes", "ntoskrnl.exe: Add ObGetFilterVersion stub.", 1 },'; + ) >> "$patchlist" +fi + # Patchset nvcuda-CUDA_Support # | # | This patchset fixes the following Wine bugs: