From 17396cec6ded3b39532179d4146c32bb3adf64a6 Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Sat, 20 Aug 2016 15:47:12 +0200 Subject: [PATCH] kernel32-UmsStubs: Synchronize spec files. --- ...-dll-and-add-stub-for-QuirkIsEnabled.patch | 14 +- patches/api-ms-win-Stub_DLLs/definition | 1 + ...rnel32-Add-a-bunch-of-kernel32-stubs.patch | 173 ++++++++++++++++-- patches/patchinstall.sh | 33 ++-- 4 files changed, 183 insertions(+), 38 deletions(-) diff --git a/patches/api-ms-win-Stub_DLLs/0001-kernelbase-Add-dll-and-add-stub-for-QuirkIsEnabled.patch b/patches/api-ms-win-Stub_DLLs/0001-kernelbase-Add-dll-and-add-stub-for-QuirkIsEnabled.patch index 7f821f43..4c2d5bfe 100644 --- a/patches/api-ms-win-Stub_DLLs/0001-kernelbase-Add-dll-and-add-stub-for-QuirkIsEnabled.patch +++ b/patches/api-ms-win-Stub_DLLs/0001-kernelbase-Add-dll-and-add-stub-for-QuirkIsEnabled.patch @@ -1,4 +1,4 @@ -From 2938cce25ce64f4a45feae7fc92a7b3497c2b68d Mon Sep 17 00:00:00 2001 +From 446107bd1bda89cfdb656dd1f0e06dcb328c00ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Fri, 15 Jan 2016 13:01:15 +0100 Subject: kernelbase: Add dll and add stub for QuirkIsEnabled. @@ -22,7 +22,7 @@ index b9caed0..2beb34b 100644 +C_SRCS = \ + misc.c diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec -index e35ef8b..70ddb5f 100644 +index 23ca440..19cf953 100644 --- a/dlls/kernelbase/kernelbase.spec +++ b/dlls/kernelbase/kernelbase.spec @@ -1,3 +1,6 @@ @@ -224,7 +224,7 @@ index e35ef8b..70ddb5f 100644 +@ stub CreateProcessInternalW +@ stdcall CreateProcessW(wstr wstr ptr ptr long long ptr wstr ptr ptr) kernel32.CreateProcessW @ stdcall CreateRemoteThread(long ptr long ptr long long ptr) kernel32.CreateRemoteThread - @ stub CreateRemoteThreadEx + @ stdcall CreateRemoteThreadEx(long ptr long ptr long long ptr ptr) kernel32.CreateRemoteThreadEx @ stdcall CreateRestrictedToken(long long long ptr long ptr long ptr ptr) advapi32.CreateRestrictedToken @ stdcall CreateSemaphoreExW(ptr long long wstr long long) kernel32.CreateSemaphoreExW +@ stdcall CreateSemaphoreW(ptr long long wstr) kernel32.CreateSemaphoreW @@ -260,7 +260,7 @@ index e35ef8b..70ddb5f 100644 +@ stdcall DeleteFiber(ptr) kernel32.DeleteFiber @ stdcall DeleteFileA(str) kernel32.DeleteFileA @ stdcall DeleteFileW(wstr) kernel32.DeleteFileW - @ stub DeleteProcThreadAttributeList + @ stdcall DeleteProcThreadAttributeList(ptr) kernel32.DeleteProcThreadAttributeList +@ stub DeleteStateAtomValue +@ stub DeleteStateContainer +@ stub DeleteStateContainerValue @@ -533,7 +533,7 @@ index e35ef8b..70ddb5f 100644 +@ stub GetHivePath +@ stub GetIntegratedDisplaySize @ stdcall GetKernelObjectSecurity(long long ptr long ptr) advapi32.GetKernelObjectSecurity -+@ stub GetLargePageMinimum ++@ stdcall GetLargePageMinimum() kernel32.GetLargePageMinimum +@ stdcall GetLargestConsoleWindowSize(long) kernel32.GetLargestConsoleWindowSize @ stdcall GetLastError() kernel32.GetLastError @ stdcall GetLengthSid(ptr) advapi32.GetLengthSid @@ -782,7 +782,7 @@ index e35ef8b..70ddb5f 100644 @ stdcall InitializeCriticalSection(ptr) kernel32.InitializeCriticalSection @ stdcall InitializeCriticalSectionAndSpinCount(ptr long) kernel32.InitializeCriticalSectionAndSpinCount @ stdcall InitializeCriticalSectionEx(ptr long long) kernel32.InitializeCriticalSectionEx - @ stub InitializeProcThreadAttributeList + @ stdcall InitializeProcThreadAttributeList(ptr long long ptr) kernel32.InitializeProcThreadAttributeList +@ stub InitializeProcessForWsWatch @ stdcall InitializeSListHead(ptr) kernel32.InitializeSListHead @ stdcall InitializeSRWLock(ptr) kernel32.InitializeSRWLock @@ -1577,7 +1577,7 @@ index e35ef8b..70ddb5f 100644 +@ stub UnsubscribeStateChangeNotification +@ stub UpdatePackageStatus +@ stub UpdatePackageStatusForUser - @ stub UpdateProcThreadAttribute + @ stdcall UpdateProcThreadAttribute(ptr long long ptr long ptr ptr) kernel32.UpdateProcThreadAttribute +@ stdcall UrlApplySchemeA(str ptr ptr long) shlwapi.UrlApplySchemeA +@ stdcall UrlApplySchemeW(wstr ptr ptr long) shlwapi.UrlApplySchemeW +@ stdcall UrlCanonicalizeA(str ptr ptr long) shlwapi.UrlCanonicalizeA diff --git a/patches/api-ms-win-Stub_DLLs/definition b/patches/api-ms-win-Stub_DLLs/definition index 33d4f9b5..3690b81c 100644 --- a/patches/api-ms-win-Stub_DLLs/definition +++ b/patches/api-ms-win-Stub_DLLs/definition @@ -22,3 +22,4 @@ Fixes: Add shcore dll Fixes: [40451] Add feclient dll Depends: kernel32-GetCurrentPackageFamilyName Depends: combase-RoApi +Depends: kernel32-UmsStubs diff --git a/patches/kernel32-UmsStubs/0001-kernel32-Add-a-bunch-of-kernel32-stubs.patch b/patches/kernel32-UmsStubs/0001-kernel32-Add-a-bunch-of-kernel32-stubs.patch index 983b26f3..70878621 100644 --- a/patches/kernel32-UmsStubs/0001-kernel32-Add-a-bunch-of-kernel32-stubs.patch +++ b/patches/kernel32-UmsStubs/0001-kernel32-Add-a-bunch-of-kernel32-stubs.patch @@ -1,4 +1,4 @@ -From 6e35f663754af35e90b801bb71c01e1c55073492 Mon Sep 17 00:00:00 2001 +From d3338512fe2237158a7c360e039335584f105068 Mon Sep 17 00:00:00 2001 From: Dmitry Timoshkov Date: Thu, 16 Jun 2016 18:56:21 +0800 Subject: kernel32: Add a bunch of kernel32 stubs. @@ -6,15 +6,112 @@ Subject: kernel32: Add a bunch of kernel32 stubs. 64-bit ACDSee Pro 9.0 on start up queries them with GetProcAddress() and fails to start if any of these APIs is missing. --- - dlls/kernel32/kernel32.spec | 34 +++++------ - dlls/kernel32/sync.c | 145 ++++++++++++++++++++++++++++++++++++++++++++ - dlls/kernel32/thread.c | 48 +++++++++++++++ - include/winbase.h | 19 ++++++ - include/winnt.h | 22 ++++++- - 5 files changed, 250 insertions(+), 18 deletions(-) + .../api-ms-win-core-processthreads-l1-1-0.spec | 8 +- + .../api-ms-win-core-processthreads-l1-1-1.spec | 8 +- + .../api-ms-win-core-processthreads-l1-1-2.spec | 8 +- + dlls/kernel32/kernel32.spec | 34 ++--- + dlls/kernel32/sync.c | 145 +++++++++++++++++++++ + dlls/kernel32/thread.c | 48 +++++++ + dlls/kernelbase/kernelbase.spec | 8 +- + include/winbase.h | 19 +++ + include/winnt.h | 22 +++- + 9 files changed, 266 insertions(+), 34 deletions(-) +diff --git a/dlls/api-ms-win-core-processthreads-l1-1-0/api-ms-win-core-processthreads-l1-1-0.spec b/dlls/api-ms-win-core-processthreads-l1-1-0/api-ms-win-core-processthreads-l1-1-0.spec +index 80a4780..ed4e803 100644 +--- a/dlls/api-ms-win-core-processthreads-l1-1-0/api-ms-win-core-processthreads-l1-1-0.spec ++++ b/dlls/api-ms-win-core-processthreads-l1-1-0/api-ms-win-core-processthreads-l1-1-0.spec +@@ -2,9 +2,9 @@ + @ stub CreateProcessAsUserW + @ stdcall CreateProcessW(wstr wstr ptr ptr long long ptr wstr ptr ptr) kernel32.CreateProcessW + @ stdcall CreateRemoteThread(long ptr long ptr long long ptr) kernel32.CreateRemoteThread +-@ stub CreateRemoteThreadEx ++@ stdcall CreateRemoteThreadEx(long ptr long ptr long long ptr ptr) kernel32.CreateRemoteThreadEx + @ stdcall CreateThread(ptr long ptr long long ptr) kernel32.CreateThread +-@ stub DeleteProcThreadAttributeList ++@ stdcall DeleteProcThreadAttributeList(ptr) kernel32.DeleteProcThreadAttributeList + @ stdcall ExitProcess(long) kernel32.ExitProcess + @ stdcall ExitThread(long) kernel32.ExitThread + @ stdcall FlushProcessWriteBuffers() kernel32.FlushProcessWriteBuffers +@@ -23,7 +23,7 @@ + @ stdcall GetThreadId(ptr) kernel32.GetThreadId + @ stdcall GetThreadPriority(long) kernel32.GetThreadPriority + @ stdcall GetThreadPriorityBoost(long ptr) kernel32.GetThreadPriorityBoost +-@ stub InitializeProcThreadAttributeList ++@ stdcall InitializeProcThreadAttributeList(ptr long long ptr) kernel32.InitializeProcThreadAttributeList + @ stub OpenProcessToken + @ stdcall OpenThread(long long long) kernel32.OpenThread + @ stub OpenThreadToken +@@ -46,4 +46,4 @@ + @ stdcall TlsFree(long) kernel32.TlsFree + @ stdcall TlsGetValue(long) kernel32.TlsGetValue + @ stdcall TlsSetValue(long ptr) kernel32.TlsSetValue +-@ stub UpdateProcThreadAttribute ++@ stdcall UpdateProcThreadAttribute(ptr long long ptr long ptr ptr) kernel32.UpdateProcThreadAttribute +diff --git a/dlls/api-ms-win-core-processthreads-l1-1-1/api-ms-win-core-processthreads-l1-1-1.spec b/dlls/api-ms-win-core-processthreads-l1-1-1/api-ms-win-core-processthreads-l1-1-1.spec +index 84f43d8..9d321af 100644 +--- a/dlls/api-ms-win-core-processthreads-l1-1-1/api-ms-win-core-processthreads-l1-1-1.spec ++++ b/dlls/api-ms-win-core-processthreads-l1-1-1/api-ms-win-core-processthreads-l1-1-1.spec +@@ -2,9 +2,9 @@ + @ stdcall CreateProcessAsUserW(long wstr wstr ptr ptr long long ptr wstr ptr ptr) advapi32.CreateProcessAsUserW + @ stdcall CreateProcessW(wstr wstr ptr ptr long long ptr wstr ptr ptr) kernel32.CreateProcessW + @ stdcall CreateRemoteThread(long ptr long ptr long long ptr) kernel32.CreateRemoteThread +-@ stub CreateRemoteThreadEx ++@ stdcall CreateRemoteThreadEx(long ptr long ptr long long ptr ptr) kernel32.CreateRemoteThreadEx + @ stdcall CreateThread(ptr long ptr long long ptr) kernel32.CreateThread +-@ stub DeleteProcThreadAttributeList ++@ stdcall DeleteProcThreadAttributeList(ptr) kernel32.DeleteProcThreadAttributeList + @ stdcall ExitProcess(long) kernel32.ExitProcess + @ stdcall ExitThread(long) kernel32.ExitThread + @ stdcall FlushInstructionCache(long long long) kernel32.FlushInstructionCache +@@ -32,7 +32,7 @@ + @ stdcall GetThreadPriority(long) kernel32.GetThreadPriority + @ stdcall GetThreadPriorityBoost(long ptr) kernel32.GetThreadPriorityBoost + @ stdcall GetThreadTimes(long ptr ptr ptr ptr) kernel32.GetThreadTimes +-@ stub InitializeProcThreadAttributeList ++@ stdcall InitializeProcThreadAttributeList(ptr long long ptr) kernel32.InitializeProcThreadAttributeList + @ stdcall IsProcessorFeaturePresent(long) kernel32.IsProcessorFeaturePresent + @ stdcall OpenProcess(long long long) kernel32.OpenProcess + @ stdcall OpenProcessToken(long long ptr) advapi32.OpenProcessToken +@@ -60,4 +60,4 @@ + @ stdcall TlsFree(long) kernel32.TlsFree + @ stdcall TlsGetValue(long) kernel32.TlsGetValue + @ stdcall TlsSetValue(long ptr) kernel32.TlsSetValue +-@ stub UpdateProcThreadAttribute ++@ stdcall UpdateProcThreadAttribute(ptr long long ptr long ptr ptr) kernel32.UpdateProcThreadAttribute +diff --git a/dlls/api-ms-win-core-processthreads-l1-1-2/api-ms-win-core-processthreads-l1-1-2.spec b/dlls/api-ms-win-core-processthreads-l1-1-2/api-ms-win-core-processthreads-l1-1-2.spec +index 6430c63..0e30f18 100644 +--- a/dlls/api-ms-win-core-processthreads-l1-1-2/api-ms-win-core-processthreads-l1-1-2.spec ++++ b/dlls/api-ms-win-core-processthreads-l1-1-2/api-ms-win-core-processthreads-l1-1-2.spec +@@ -2,9 +2,9 @@ + @ stub CreateProcessAsUserW + @ stdcall CreateProcessW(wstr wstr ptr ptr long long ptr wstr ptr ptr) kernel32.CreateProcessW + @ stdcall CreateRemoteThread(long ptr long ptr long long ptr) kernel32.CreateRemoteThread +-@ stub CreateRemoteThreadEx ++@ stdcall CreateRemoteThreadEx(long ptr long ptr long long ptr ptr) kernel32.CreateRemoteThreadEx + @ stdcall CreateThread(ptr long ptr long long ptr) kernel32.CreateThread +-@ stub DeleteProcThreadAttributeList ++@ stdcall DeleteProcThreadAttributeList(ptr) kernel32.DeleteProcThreadAttributeList + @ stdcall ExitProcess(long) kernel32.ExitProcess + @ stdcall ExitThread(long) kernel32.ExitThread + @ stdcall FlushInstructionCache(long long long) kernel32.FlushInstructionCache +@@ -36,7 +36,7 @@ + @ stdcall GetThreadPriority(long) kernel32.GetThreadPriority + @ stdcall GetThreadPriorityBoost(long ptr) kernel32.GetThreadPriorityBoost + @ stdcall GetThreadTimes(long ptr ptr ptr ptr) kernel32.GetThreadTimes +-@ stub InitializeProcThreadAttributeList ++@ stdcall InitializeProcThreadAttributeList(ptr long long ptr) kernel32.InitializeProcThreadAttributeList + @ stub IsProcessCritical + @ stdcall IsProcessorFeaturePresent(long) kernel32.IsProcessorFeaturePresent + @ stdcall OpenProcess(long long long) kernel32.OpenProcess +@@ -67,4 +67,4 @@ + @ stdcall TlsFree(long) kernel32.TlsFree + @ stdcall TlsGetValue(long) kernel32.TlsGetValue + @ stdcall TlsSetValue(long ptr) kernel32.TlsSetValue +-@ stub UpdateProcThreadAttribute ++@ stdcall UpdateProcThreadAttribute(ptr long long ptr long ptr ptr) kernel32.UpdateProcThreadAttribute diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec -index 0fc4dcb..b6329c1 100644 +index 239965f..91df122 100644 --- a/dlls/kernel32/kernel32.spec +++ b/dlls/kernel32/kernel32.spec @@ -319,7 +319,7 @@ @@ -145,10 +242,10 @@ index 0fc4dcb..b6329c1 100644 @ stdcall UpdateResourceW(long wstr wstr long ptr long) @ stub VDMConsoleOperation diff --git a/dlls/kernel32/sync.c b/dlls/kernel32/sync.c -index 13fb0f0..81833cc 100644 +index b8222db..1eb591d 100644 --- a/dlls/kernel32/sync.c +++ b/dlls/kernel32/sync.c -@@ -2447,3 +2447,148 @@ BOOL WINAPI SleepConditionVariableSRW( RTL_CONDITION_VARIABLE *variable, RTL_SRW +@@ -2452,3 +2452,148 @@ BOOL WINAPI SleepConditionVariableSRW( RTL_CONDITION_VARIABLE *variable, RTL_SRW } return TRUE; } @@ -298,7 +395,7 @@ index 13fb0f0..81833cc 100644 + return FALSE; +} diff --git a/dlls/kernel32/thread.c b/dlls/kernel32/thread.c -index 6630e7f..d302855 100644 +index 82ccebe..5ba3a7a 100644 --- a/dlls/kernel32/thread.c +++ b/dlls/kernel32/thread.c @@ -113,6 +113,54 @@ HANDLE WINAPI CreateRemoteThread( HANDLE hProcess, SECURITY_ATTRIBUTES *sa, SIZE @@ -356,8 +453,48 @@ index 6630e7f..d302855 100644 /*********************************************************************** * OpenThread [KERNEL32.@] Retrieves a handle to a thread from its thread id */ +diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec +index e35ef8b..23ca440 100644 +--- a/dlls/kernelbase/kernelbase.spec ++++ b/dlls/kernelbase/kernelbase.spec +@@ -85,7 +85,7 @@ + @ stdcall CreatePrivateObjectSecurityEx(ptr ptr ptr ptr long long long ptr) advapi32.CreatePrivateObjectSecurityEx + @ stdcall CreatePrivateObjectSecurityWithMultipleInheritance(ptr ptr ptr ptr long long long long ptr) advapi32.CreatePrivateObjectSecurityWithMultipleInheritance + @ stdcall CreateRemoteThread(long ptr long ptr long long ptr) kernel32.CreateRemoteThread +-@ stub CreateRemoteThreadEx ++@ stdcall CreateRemoteThreadEx(long ptr long ptr long long ptr ptr) kernel32.CreateRemoteThreadEx + @ stdcall CreateRestrictedToken(long long long ptr long ptr long ptr ptr) advapi32.CreateRestrictedToken + @ stdcall CreateSemaphoreExW(ptr long long wstr long long) kernel32.CreateSemaphoreExW + @ stdcall CreateThread(ptr long ptr long long ptr) kernel32.CreateThread +@@ -107,7 +107,7 @@ + @ stdcall DeleteCriticalSection(ptr) kernel32.DeleteCriticalSection + @ stdcall DeleteFileA(str) kernel32.DeleteFileA + @ stdcall DeleteFileW(wstr) kernel32.DeleteFileW +-@ stub DeleteProcThreadAttributeList ++@ stdcall DeleteProcThreadAttributeList(ptr) kernel32.DeleteProcThreadAttributeList + @ stdcall DeleteTimerQueueEx(long long) kernel32.DeleteTimerQueueEx + @ stdcall DeleteTimerQueueTimer(long long long) kernel32.DeleteTimerQueueTimer + @ stdcall DeleteVolumeMountPointW(wstr) kernel32.DeleteVolumeMountPointW +@@ -368,7 +368,7 @@ + @ stdcall InitializeCriticalSection(ptr) kernel32.InitializeCriticalSection + @ stdcall InitializeCriticalSectionAndSpinCount(ptr long) kernel32.InitializeCriticalSectionAndSpinCount + @ stdcall InitializeCriticalSectionEx(ptr long long) kernel32.InitializeCriticalSectionEx +-@ stub InitializeProcThreadAttributeList ++@ stdcall InitializeProcThreadAttributeList(ptr long long ptr) kernel32.InitializeProcThreadAttributeList + @ stdcall InitializeSListHead(ptr) kernel32.InitializeSListHead + @ stdcall InitializeSRWLock(ptr) kernel32.InitializeSRWLock + @ stdcall InitializeSecurityDescriptor(ptr long) advapi32.InitializeSecurityDescriptor +@@ -586,7 +586,7 @@ + @ stdcall UnlockFileEx(long long long long ptr) kernel32.UnlockFileEx + @ stdcall UnmapViewOfFile(ptr) kernel32.UnmapViewOfFile + @ stdcall UnregisterWaitEx(long long) kernel32.UnregisterWaitEx +-@ stub UpdateProcThreadAttribute ++@ stdcall UpdateProcThreadAttribute(ptr long long ptr long ptr ptr) kernel32.UpdateProcThreadAttribute + @ stdcall VerLanguageNameA(long str long) kernel32.VerLanguageNameA + @ stdcall VerLanguageNameW(long wstr long) kernel32.VerLanguageNameW + @ stdcall VirtualAlloc(ptr long long long) kernel32.VirtualAlloc diff --git a/include/winbase.h b/include/winbase.h -index c5332c0..7af479c 100644 +index 99e3107..2311011 100644 --- a/include/winbase.h +++ b/include/winbase.h @@ -1644,6 +1644,21 @@ typedef struct _REASON_CONTEXT @@ -382,7 +519,7 @@ index c5332c0..7af479c 100644 WINBASEAPI BOOL WINAPI ActivateActCtx(HANDLE,ULONG_PTR *); WINADVAPI BOOL WINAPI AddAccessAllowedAce(PACL,DWORD,DWORD,PSID); WINADVAPI BOOL WINAPI AddAccessAllowedAceEx(PACL,DWORD,DWORD,DWORD,PSID); -@@ -1784,6 +1799,7 @@ WINADVAPI BOOL WINAPI CreateProcessAsUserW(HANDLE,LPCWSTR,LPWSTR,LPSECUR +@@ -1789,6 +1804,7 @@ WINADVAPI BOOL WINAPI CreateProcessAsUserW(HANDLE,LPCWSTR,LPWSTR,LPSECUR #define CreateProcessAsUser WINELIB_NAME_AW(CreateProcessAsUser) WINADVAPI BOOL WINAPI CreateProcessWithLogonW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPCWSTR,LPWSTR,DWORD,LPVOID,LPCWSTR,LPSTARTUPINFOW,LPPROCESS_INFORMATION); WINBASEAPI HANDLE WINAPI CreateRemoteThread(HANDLE,LPSECURITY_ATTRIBUTES,SIZE_T,LPTHREAD_START_ROUTINE,LPVOID,DWORD,LPDWORD); @@ -390,7 +527,7 @@ index c5332c0..7af479c 100644 WINADVAPI BOOL WINAPI CreateRestrictedToken(HANDLE,DWORD,DWORD,PSID_AND_ATTRIBUTES,DWORD,PLUID_AND_ATTRIBUTES,DWORD,PSID_AND_ATTRIBUTES,PHANDLE); WINBASEAPI HANDLE WINAPI CreateSemaphoreA(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCSTR); WINBASEAPI HANDLE WINAPI CreateSemaphoreW(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCWSTR); -@@ -1801,6 +1817,8 @@ WINBASEAPI DWORD WINAPI CreateTapePartition(HANDLE,DWORD,DWORD,DWORD); +@@ -1806,6 +1822,8 @@ WINBASEAPI DWORD WINAPI CreateTapePartition(HANDLE,DWORD,DWORD,DWORD); WINBASEAPI HANDLE WINAPI CreateThread(LPSECURITY_ATTRIBUTES,SIZE_T,LPTHREAD_START_ROUTINE,LPVOID,DWORD,LPDWORD); WINBASEAPI HANDLE WINAPI CreateTimerQueue(void); WINBASEAPI BOOL WINAPI CreateTimerQueueTimer(PHANDLE,HANDLE,WAITORTIMERCALLBACK,PVOID,DWORD,DWORD,ULONG); @@ -399,7 +536,7 @@ index c5332c0..7af479c 100644 WINBASEAPI HANDLE WINAPI CreateWaitableTimerA(LPSECURITY_ATTRIBUTES,BOOL,LPCSTR); WINBASEAPI HANDLE WINAPI CreateWaitableTimerW(LPSECURITY_ATTRIBUTES,BOOL,LPCWSTR); #define CreateWaitableTimer WINELIB_NAME_AW(CreateWaitableTimer) -@@ -1856,6 +1874,7 @@ WINBASEAPI BOOL WINAPI EndUpdateResourceA(HANDLE,BOOL); +@@ -1861,6 +1879,7 @@ WINBASEAPI BOOL WINAPI EndUpdateResourceA(HANDLE,BOOL); WINBASEAPI BOOL WINAPI EndUpdateResourceW(HANDLE,BOOL); #define EndUpdateResource WINELIB_NAME_AW(EndUpdateResource) WINBASEAPI void WINAPI EnterCriticalSection(CRITICAL_SECTION *lpCrit); @@ -408,10 +545,10 @@ index c5332c0..7af479c 100644 WINBASEAPI BOOL WINAPI EnumResourceLanguagesW(HMODULE,LPCWSTR,LPCWSTR,ENUMRESLANGPROCW,LONG_PTR); #define EnumResourceLanguages WINELIB_NAME_AW(EnumResourceLanguages) diff --git a/include/winnt.h b/include/winnt.h -index 1a767e7..d6af66a 100644 +index 72c399b..5f7f7fe 100644 --- a/include/winnt.h +++ b/include/winnt.h -@@ -5992,9 +5992,29 @@ typedef VOID (CALLBACK *PTP_TIMER_CALLBACK)(PTP_CALLBACK_INSTANCE,PVOID,PTP_TIME +@@ -6008,9 +6008,29 @@ typedef VOID (CALLBACK *PTP_TIMER_CALLBACK)(PTP_CALLBACK_INSTANCE,PVOID,PTP_TIME typedef VOID (CALLBACK *PTP_WAIT_CALLBACK)(PTP_CALLBACK_INSTANCE,PVOID,PTP_WAIT,TP_WAIT_RESULT); typedef VOID (CALLBACK *PTP_WIN32_IO_CALLBACK)(PTP_CALLBACK_INSTANCE,PVOID,PVOID,ULONG,ULONG_PTR,PTP_IO); @@ -443,5 +580,5 @@ index 1a767e7..d6af66a 100644 } #endif -- -2.8.0 +2.9.0 diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index ca31be0a..74ce9bfe 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -2293,8 +2293,12 @@ if test "$enable_api_ms_win_Stub_DLLs" -eq 1; then if test "$enable_kernel32_GetCurrentPackageFamilyName" -gt 1; then abort "Patchset kernel32-GetCurrentPackageFamilyName disabled, but api-ms-win-Stub_DLLs depends on that." fi + if test "$enable_kernel32_UmsStubs" -gt 1; then + abort "Patchset kernel32-UmsStubs disabled, but api-ms-win-Stub_DLLs depends on that." + fi enable_combase_RoApi=1 enable_kernel32_GetCurrentPackageFamilyName=1 + enable_kernel32_UmsStubs=1 fi if test "$enable_advapi32_LsaLookupSids" -eq 1; then @@ -2547,10 +2551,25 @@ if test "$enable_kernel32_GetCurrentPackageFamilyName" -eq 1; then ) >> "$patchlist" fi +# Patchset kernel32-UmsStubs +# | +# | Modified files: +# | * dlls/api-ms-win-core-processthreads-l1-1-0/api-ms-win-core-processthreads-l1-1-0.spec, dlls/api-ms-win-core- +# | processthreads-l1-1-1/api-ms-win-core-processthreads-l1-1-1.spec, dlls/api-ms-win-core-processthreads-l1-1-2/api-ms-win- +# | core-processthreads-l1-1-2.spec, dlls/kernel32/kernel32.spec, dlls/kernel32/sync.c, dlls/kernel32/thread.c, +# | dlls/kernelbase/kernelbase.spec, include/winbase.h, include/winnt.h +# | +if test "$enable_kernel32_UmsStubs" -eq 1; then + patch_apply kernel32-UmsStubs/0001-kernel32-Add-a-bunch-of-kernel32-stubs.patch + ( + echo '+ { "Dmitry Timoshkov", "kernel32: Add a bunch of kernel32 stubs.", 1 },'; + ) >> "$patchlist" +fi + # Patchset api-ms-win-Stub_DLLs # | # | This patchset has the following (direct or indirect) dependencies: -# | * combase-RoApi, kernel32-GetCurrentPackageFamilyName +# | * combase-RoApi, kernel32-GetCurrentPackageFamilyName, kernel32-UmsStubs # | # | This patchset fixes the following Wine bugs: # | * [#40451] Add feclient dll @@ -4289,18 +4308,6 @@ if test "$enable_kernel32_TimezoneInformation_Registry" -eq 1; then ) >> "$patchlist" fi -# Patchset kernel32-UmsStubs -# | -# | Modified files: -# | * dlls/kernel32/kernel32.spec, dlls/kernel32/sync.c, dlls/kernel32/thread.c, include/winbase.h, include/winnt.h -# | -if test "$enable_kernel32_UmsStubs" -eq 1; then - patch_apply kernel32-UmsStubs/0001-kernel32-Add-a-bunch-of-kernel32-stubs.patch - ( - echo '+ { "Dmitry Timoshkov", "kernel32: Add a bunch of kernel32 stubs.", 1 },'; - ) >> "$patchlist" -fi - # Patchset kernel32-VerifyVersionInfo # | # | This patchset fixes the following Wine bugs: