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 1af763a3..672d4a5c 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,15 +1,15 @@ -From ed3b79f64b43449fb2ea8f904730e1eaee54cca4 Mon Sep 17 00:00:00 2001 +From 613105807eab97c1dfb68dc5497c007d8d92d417 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. --- dlls/kernelbase/Makefile.in | 3 + - dlls/kernelbase/kernelbase.spec | 1319 +++++++++++++++++++++++++++++++++++---- + dlls/kernelbase/kernelbase.spec | 1309 +++++++++++++++++++++++++++++++++++---- dlls/kernelbase/misc.c | 37 ++ dlls/shlwapi/shlwapi.spec | 2 +- tools/make_specfiles | 8 +- - 5 files changed, 1255 insertions(+), 114 deletions(-) + 5 files changed, 1250 insertions(+), 109 deletions(-) create mode 100644 dlls/kernelbase/misc.c diff --git a/dlls/kernelbase/Makefile.in b/dlls/kernelbase/Makefile.in @@ -22,21 +22,16 @@ index b9caed0..2beb34b 100644 +C_SRCS = \ + misc.c diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec -index b9e95ca..0debd83 100644 +index b9e95ca..8fdb80d 100644 --- a/dlls/kernelbase/kernelbase.spec +++ b/dlls/kernelbase/kernelbase.spec -@@ -1,53 +1,136 @@ +@@ -1,53 +1,131 @@ -@ stub AccessCheck -@ stub AccessCheckAndAuditAlarmW -@ stub AccessCheckByType +# On Windows 10 kernelbase contains the implementation and kernel32 is redirected +# but this breaks some old applications which can't handle redirections. + -+@ stub PackageSidFromProductId -+@ stub GetCPHashNode -+@ stub GetNamedLocaleHashNode -+@ stdcall -norelay InterlockedPushListSList(ptr ptr ptr long) kernel32.InterlockedPushListSList -+@ stub InternalLcidToName +@ stdcall AccessCheck(ptr long long ptr ptr ptr ptr ptr) advapi32.AccessCheck +@ stdcall AccessCheckAndAuditAlarmW(wstr ptr wstr wstr ptr long ptr long ptr ptr ptr) advapi32.AccessCheckAndAuditAlarmW +@ stdcall AccessCheckByType(ptr ptr long long ptr long ptr ptr ptr ptr ptr) advapi32.AccessCheckByType @@ -194,7 +189,7 @@ index b9e95ca..0debd83 100644 @ stdcall CloseThreadpool(ptr) kernel32.CloseThreadpool @ stdcall CloseThreadpoolCleanupGroup(ptr) kernel32.CloseThreadpoolCleanupGroup @ stdcall CloseThreadpoolCleanupGroupMembers(ptr long ptr) kernel32.CloseThreadpoolCleanupGroupMembers -@@ -55,39 +138,75 @@ +@@ -55,39 +133,75 @@ @ stdcall CloseThreadpoolTimer(ptr) kernel32.CloseThreadpoolTimer @ stdcall CloseThreadpoolWait(ptr) kernel32.CloseThreadpoolWait @ stdcall CloseThreadpoolWork(ptr) kernel32.CloseThreadpoolWork @@ -276,7 +271,7 @@ index b9e95ca..0debd83 100644 @ stdcall CreateThread(ptr long ptr long long ptr) kernel32.CreateThread @ stdcall CreateThreadpool(ptr) kernel32.CreateThreadpool @ stdcall CreateThreadpoolCleanupGroup() kernel32.CreateThreadpoolCleanupGroup -@@ -98,38 +217,86 @@ +@@ -98,38 +212,86 @@ @ stdcall CreateTimerQueue() kernel32.CreateTimerQueue @ stdcall CreateTimerQueueTimer(ptr long ptr ptr long long long) kernel32.CreateTimerQueueTimer @ stdcall CreateWaitableTimerExW(ptr wstr long long) kernel32.CreateWaitableTimerExW @@ -368,7 +363,7 @@ index b9e95ca..0debd83 100644 @ stdcall EnumSystemLanguageGroupsW(ptr long ptr) kernel32.EnumSystemLanguageGroupsW @ stdcall EnumSystemLocalesA(ptr long) kernel32.EnumSystemLocalesA @ stdcall EnumSystemLocalesEx(ptr long long ptr) kernel32.EnumSystemLocalesEx -@@ -137,9 +304,22 @@ +@@ -137,9 +299,22 @@ @ stdcall EnumTimeFormatsEx(ptr wstr long long) kernel32.EnumTimeFormatsEx @ stdcall EnumTimeFormatsW(ptr long long) kernel32.EnumTimeFormatsW @ stdcall EnumUILanguagesW(ptr long long) kernel32.EnumUILanguagesW @@ -393,7 +388,7 @@ index b9e95ca..0debd83 100644 @ stdcall ExitProcess(long) kernel32.ExitProcess @ stdcall ExitThread(long) kernel32.ExitThread @ stdcall ExpandEnvironmentStringsA(str ptr long) kernel32.ExpandEnvironmentStringsA -@@ -148,6 +328,11 @@ +@@ -148,6 +323,11 @@ @ stdcall FatalAppExitW(long wstr) kernel32.FatalAppExitW @ stdcall FileTimeToLocalFileTime(ptr ptr) kernel32.FileTimeToLocalFileTime @ stdcall FileTimeToSystemTime(ptr ptr) kernel32.FileTimeToSystemTime @@ -405,7 +400,7 @@ index b9e95ca..0debd83 100644 @ stdcall FindClose(long) kernel32.FindClose @ stdcall FindCloseChangeNotification(long) kernel32.FindCloseChangeNotification @ stdcall FindFirstChangeNotificationA(str long long) kernel32.FindFirstChangeNotificationA -@@ -155,64 +340,140 @@ +@@ -155,64 +335,141 @@ @ stdcall FindFirstFileA(str ptr) kernel32.FindFirstFileA @ stdcall FindFirstFileExA(str long ptr long ptr long) kernel32.FindFirstFileExA @ stdcall FindFirstFileExW(wstr long ptr long ptr long) kernel32.FindFirstFileExW @@ -476,7 +471,7 @@ index b9e95ca..0debd83 100644 +@ stub GetAppliedGPOListInternalA +@ stub GetAppliedGPOListInternalW @ stub GetCPFileNameFromRegistry --@ stub GetCPHashNode + @ stub GetCPHashNode @ stdcall GetCPInfo(long ptr) kernel32.GetCPInfo @ stdcall GetCPInfoExW(long long ptr) kernel32.GetCPInfoExW +@ stub GetCachedSigningLevel @@ -551,7 +546,7 @@ index b9e95ca..0debd83 100644 @ stdcall GetEnvironmentStrings() kernel32.GetEnvironmentStrings @ stdcall GetEnvironmentStringsA() kernel32.GetEnvironmentStringsA @ stdcall GetEnvironmentStringsW() kernel32.GetEnvironmentStringsW -@@ -228,21 +489,38 @@ +@@ -228,21 +485,38 @@ @ stdcall GetFileAttributesExW(wstr long ptr) kernel32.GetFileAttributesExW @ stdcall GetFileAttributesW(wstr) kernel32.GetFileAttributesW @ stdcall GetFileInformationByHandle(long ptr) kernel32.GetFileInformationByHandle @@ -593,7 +588,7 @@ index b9e95ca..0debd83 100644 @ stdcall GetLocalTime(ptr) kernel32.GetLocalTime @ stdcall GetLocaleInfoA(long long ptr long) kernel32.GetLocaleInfoA @ stdcall GetLocaleInfoEx(wstr long ptr long) kernel32.GetLocaleInfoEx -@@ -254,98 +532,220 @@ +@@ -254,98 +528,221 @@ @ stdcall GetLogicalProcessorInformationEx(long ptr ptr) kernel32.GetLogicalProcessorInformationEx @ stdcall GetLongPathNameA(str long long) kernel32.GetLongPathNameA @ stdcall GetLongPathNameW(wstr long long) kernel32.GetLongPathNameW @@ -613,7 +608,7 @@ index b9e95ca..0debd83 100644 +@ stub GetModuleInformation @ stub GetNLSVersion @ stub GetNLSVersionEx --@ stub GetNamedLocaleHashNode + @ stub GetNamedLocaleHashNode @ stub GetNamedPipeAttribute @ stub GetNamedPipeClientComputerNameW +@ stdcall GetNamedPipeHandleStateW(long ptr ptr ptr ptr wstr long) kernel32.GetNamedPipeHandleStateW @@ -778,9 +773,8 @@ index b9e95ca..0debd83 100644 +@ stub GetThreadSelectedCpuSets +@ stdcall GetThreadTimes(long ptr ptr ptr ptr) kernel32.GetThreadTimes @ stdcall GetThreadUILanguage() kernel32.GetThreadUILanguage --@ stdcall GetTickCount() kernel32.GetTickCount + @ stdcall GetTickCount() kernel32.GetTickCount @ stdcall -ret64 GetTickCount64() kernel32.GetTickCount64 -+@ stdcall GetTickCount() kernel32.GetTickCount +@ stdcall GetTimeFormatA(long long ptr str ptr long) kernel32.GetTimeFormatA +@ stdcall GetTimeFormatEx(wstr long ptr wstr ptr long) kernel32.GetTimeFormatEx +@ stdcall GetTimeFormatW(long long ptr wstr ptr long) kernel32.GetTimeFormatW @@ -829,7 +823,7 @@ index b9e95ca..0debd83 100644 @ stdcall HeapAlloc(long long long) kernel32.HeapAlloc @ stdcall HeapCompact(long long) kernel32.HeapCompact @ stdcall HeapCreate(long long long) kernel32.HeapCreate -@@ -360,24 +760,42 @@ +@@ -360,23 +757,43 @@ @ stdcall HeapUnlock(long) kernel32.HeapUnlock @ stdcall HeapValidate(long long ptr) kernel32.HeapValidate @ stdcall HeapWalk(long ptr) kernel32.HeapWalk @@ -866,8 +860,8 @@ index b9e95ca..0debd83 100644 +@ stdcall InitializeSid(ptr ptr long) advapi32.InitializeSid +@ stub InitializeSynchronizationBarrier +@ stub InstallELAMCertificateInfo -+@ stdcall -arch=i386 -ret64 InterlockedCompareExchange64(ptr int64 int64) kernel32.InterlockedCompareExchange64 +@ stdcall -arch=i386 InterlockedCompareExchange(ptr long long) kernel32.InterlockedCompareExchange ++@ stdcall -arch=i386 -ret64 InterlockedCompareExchange64(ptr int64 int64) kernel32.InterlockedCompareExchange64 +@ stdcall -arch=i386 InterlockedDecrement(ptr) kernel32.InterlockedDecrement +@ stdcall -arch=i386 InterlockedExchange(ptr long) kernel32.InterlockedExchange +@ stdcall -arch=i386 InterlockedExchangeAdd(ptr long ) kernel32.InterlockedExchangeAdd @@ -875,13 +869,12 @@ index b9e95ca..0debd83 100644 +@ stdcall -arch=i386 InterlockedIncrement(ptr) kernel32.InterlockedIncrement @ stdcall InterlockedPopEntrySList(ptr) kernel32.InterlockedPopEntrySList @ stdcall InterlockedPushEntrySList(ptr ptr) kernel32.InterlockedPushEntrySList --@ stdcall -norelay InterlockedPushListSList(ptr ptr ptr long) kernel32.InterlockedPushListSList --@ stub InternalLcidToName + @ stdcall -norelay InterlockedPushListSList(ptr ptr ptr long) kernel32.InterlockedPushListSList +@ stdcall InterlockedPushListSListEx(ptr ptr ptr long) kernel32.InterlockedPushListSListEx + @ stub InternalLcidToName @ stub Internal_EnumCalendarInfo @ stub Internal_EnumDateFormats - @ stub Internal_EnumLanguageGroupLocales -@@ -386,38 +804,101 @@ +@@ -386,38 +803,101 @@ @ stub Internal_EnumSystemLocales @ stub Internal_EnumTimeFormats @ stub Internal_EnumUILanguages @@ -991,7 +984,7 @@ index b9e95ca..0debd83 100644 @ stdcall LocalAlloc(long long) kernel32.LocalAlloc @ stdcall LocalFileTimeToFileTime(ptr ptr) kernel32.LocalFileTimeToFileTime @ stdcall LocalFree(long) kernel32.LocalFree -@@ -425,17 +906,27 @@ +@@ -425,17 +905,27 @@ @ stdcall LocalReAlloc(long long long) kernel32.LocalReAlloc @ stdcall LocalUnlock(long) kernel32.LocalUnlock @ stdcall LocaleNameToLCID(wstr long) kernel32.LocaleNameToLCID @@ -1000,10 +993,10 @@ index b9e95ca..0debd83 100644 @ stdcall LockFileEx(long long long long long ptr) kernel32.LockFileEx @ stdcall LockResource(long) kernel32.LockResource -@ stub MakeAbsoluteSD ++@ stdcall MakeAbsoluteSD(ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr) advapi32.MakeAbsoluteSD @ stub MakeAbsoluteSD2 -@ stub MakeSelfRelativeSD -@ stub MapGenericMask -+@ stdcall MakeAbsoluteSD(ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr) advapi32.MakeAbsoluteSD +@ stdcall MakeSelfRelativeSD(ptr ptr ptr) advapi32.MakeSelfRelativeSD +@ stdcall MapGenericMask(ptr ptr) advapi32.MapGenericMask +@ stub MapPredefinedHandleInternal @@ -1022,7 +1015,7 @@ index b9e95ca..0debd83 100644 @ stdcall NeedCurrentDirectoryForExePathA(str) kernel32.NeedCurrentDirectoryForExePathA @ stdcall NeedCurrentDirectoryForExePathW(wstr) kernel32.NeedCurrentDirectoryForExePathW @ stub NlsCheckPolicy -@@ -448,65 +939,452 @@ +@@ -448,65 +938,453 @@ @ stub NlsUpdateSystemLocale @ stub NlsValidateLocale @ stub NlsWriteEtwEvent @@ -1075,6 +1068,7 @@ index b9e95ca..0debd83 100644 +@ stub PackageNameAndPublisherIdFromFamilyName +@ stub PackageRelativeApplicationIdFromProductId +@ stub PackageSidFromFamilyName ++@ stub PackageSidFromProductId +@ stub ParseApplicationUserModelId +@ stdcall ParseURLA(str ptr) shlwapi.ParseURLA +@ stdcall ParseURLW(wstr ptr) shlwapi.ParseURLW @@ -1280,15 +1274,15 @@ index b9e95ca..0debd83 100644 +@ stub QueryWorkingSetEx @ stdcall QueueUserAPC(ptr long long) kernel32.QueueUserAPC +@ stdcall QueueUserWorkItem(ptr ptr long) kernel32.QueueUserWorkItem -+@ stub QuirkGetData2 +@ stub QuirkGetData ++@ stub QuirkGetData2 ++@ stdcall QuirkIsEnabled(ptr) +@ stub QuirkIsEnabled2 +@ stub QuirkIsEnabled3 -+@ stdcall QuirkIsEnabled(ptr) ++@ stub QuirkIsEnabledForPackage +@ stub QuirkIsEnabledForPackage2 +@ stub QuirkIsEnabledForPackage3 +@ stub QuirkIsEnabledForPackage4 -+@ stub QuirkIsEnabledForPackage +@ stub QuirkIsEnabledForProcess @ stdcall RaiseException(long long long ptr) kernel32.RaiseException +@ stub RaiseFailFastException diff --git a/patches/api-ms-win-Stub_DLLs/0024-kernelbase-Add-stub-for-QuirkIsEnabled3.patch b/patches/api-ms-win-Stub_DLLs/0024-kernelbase-Add-stub-for-QuirkIsEnabled3.patch index d5814782..6173ed41 100644 --- a/patches/api-ms-win-Stub_DLLs/0024-kernelbase-Add-stub-for-QuirkIsEnabled3.patch +++ b/patches/api-ms-win-Stub_DLLs/0024-kernelbase-Add-stub-for-QuirkIsEnabled3.patch @@ -1,4 +1,4 @@ -From d1cb153363aec82f8b7c5dbb0f382880e01fc2d4 Mon Sep 17 00:00:00 2001 +From d0688788458f243ccef2c337d7ab8f59ead75a3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Thu, 4 Feb 2016 06:19:57 +0100 Subject: kernelbase: Add stub for QuirkIsEnabled3. @@ -23,16 +23,16 @@ index 54ce373..1485512 100644 @ stub QuirkIsEnabledForPackage2 @ stub QuirkIsEnabledForProcess diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec -index 83fff3e..dbba3cc 100644 +index 8fdb80d..c0b2594 100644 --- a/dlls/kernelbase/kernelbase.spec +++ b/dlls/kernelbase/kernelbase.spec -@@ -1188,7 +1188,7 @@ +@@ -1189,7 +1189,7 @@ @ stub QuirkGetData2 - @ stub QuirkGetData + @ stdcall QuirkIsEnabled(ptr) @ stub QuirkIsEnabled2 -@ stub QuirkIsEnabled3 +@ stdcall QuirkIsEnabled3(ptr ptr) - @ stdcall QuirkIsEnabled(ptr) + @ stub QuirkIsEnabledForPackage @ stub QuirkIsEnabledForPackage2 @ stub QuirkIsEnabledForPackage3 diff --git a/dlls/kernelbase/misc.c b/dlls/kernelbase/misc.c @@ -54,5 +54,5 @@ index be1591a..e703e6d 100644 + return FALSE; +} -- -2.7.0 +2.7.1