From 551b7c746ab685fd19cb527553ef3c5e25636e71 Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Fri, 15 Jan 2016 13:52:35 +0100 Subject: [PATCH] Added patch for api-ms-win-core-com-l1-1-1 dll. --- ...2-api-ms-win-core-com-l1-1-1-Add-dll.patch | 136 ++++++++++++++++++ patches/api-ms-win-crt-Stub_DLLs/definition | 2 + patches/patchinstall.sh | 45 +++--- 3 files changed, 167 insertions(+), 16 deletions(-) create mode 100644 patches/api-ms-win-crt-Stub_DLLs/0002-api-ms-win-core-com-l1-1-1-Add-dll.patch diff --git a/patches/api-ms-win-crt-Stub_DLLs/0002-api-ms-win-core-com-l1-1-1-Add-dll.patch b/patches/api-ms-win-crt-Stub_DLLs/0002-api-ms-win-core-com-l1-1-1-Add-dll.patch new file mode 100644 index 00000000..c66f7b9f --- /dev/null +++ b/patches/api-ms-win-crt-Stub_DLLs/0002-api-ms-win-core-com-l1-1-1-Add-dll.patch @@ -0,0 +1,136 @@ +From 06a2d09b5e443d01c7177d6e74e7e5a43fb4ce26 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michael=20M=C3=BCller?= +Date: Fri, 15 Jan 2016 12:20:06 +0100 +Subject: api-ms-win-core-com-l1-1-1: Add dll. + +--- + configure.ac | 1 + + dlls/api-ms-win-core-com-l1-1-1/Makefile.in | 1 + + .../api-ms-win-core-com-l1-1-1.spec | 82 ++++++++++++++++++++++ + tools/make_specfiles | 1 + + 4 files changed, 85 insertions(+) + create mode 100644 dlls/api-ms-win-core-com-l1-1-1/Makefile.in + create mode 100644 dlls/api-ms-win-core-com-l1-1-1/api-ms-win-core-com-l1-1-1.spec + +diff --git a/configure.ac b/configure.ac +index 8aca9a1..09d62ae 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2617,6 +2617,7 @@ WINE_CONFIG_TEST(dlls/advpack/tests) + WINE_CONFIG_DLL(amstream,,[clean]) + WINE_CONFIG_TEST(dlls/amstream/tests) + WINE_CONFIG_DLL(api-ms-win-core-com-l1-1-0) ++WINE_CONFIG_DLL(api-ms-win-core-com-l1-1-1) + WINE_CONFIG_DLL(api-ms-win-core-console-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-core-datetime-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-core-datetime-l1-1-1) +diff --git a/dlls/api-ms-win-core-com-l1-1-1/Makefile.in b/dlls/api-ms-win-core-com-l1-1-1/Makefile.in +new file mode 100644 +index 0000000..a37f743 +--- /dev/null ++++ b/dlls/api-ms-win-core-com-l1-1-1/Makefile.in +@@ -0,0 +1 @@ ++MODULE = api-ms-win-core-com-l1-1-1.dll +diff --git a/dlls/api-ms-win-core-com-l1-1-1/api-ms-win-core-com-l1-1-1.spec b/dlls/api-ms-win-core-com-l1-1-1/api-ms-win-core-com-l1-1-1.spec +new file mode 100644 +index 0000000..d2914f0 +--- /dev/null ++++ b/dlls/api-ms-win-core-com-l1-1-1/api-ms-win-core-com-l1-1-1.spec +@@ -0,0 +1,82 @@ ++@ stdcall CLSIDFromProgID(wstr ptr) ole32.CLSIDFromProgID ++@ stdcall CLSIDFromString(wstr ptr) ole32.CLSIDFromString ++@ stdcall CoAddRefServerProcess() ole32.CoAddRefServerProcess ++@ stub CoAllowUnmarshalerCLSID ++@ stub CoCancelCall ++@ stdcall CoCopyProxy(ptr ptr) ole32.CoCopyProxy ++@ stdcall CoCreateFreeThreadedMarshaler(ptr ptr) ole32.CoCreateFreeThreadedMarshaler ++@ stdcall CoCreateGuid(ptr) ole32.CoCreateGuid ++@ stdcall CoCreateInstance(ptr ptr long ptr ptr) ole32.CoCreateInstance ++@ stdcall CoCreateInstanceEx(ptr ptr long ptr long ptr) ole32.CoCreateInstanceEx ++@ stub CoCreateInstanceFromApp ++@ stub CoDecodeProxy ++@ stub CoDecrementMTAUsage ++@ stub CoDisableCallCancellation ++@ stub CoDisconnectContext ++@ stdcall CoDisconnectObject(ptr long) ole32.CoDisconnectObject ++@ stub CoEnableCallCancellation ++@ stdcall CoFreeUnusedLibraries() ole32.CoFreeUnusedLibraries ++@ stdcall CoFreeUnusedLibrariesEx(long long) ole32.CoFreeUnusedLibrariesEx ++@ stdcall CoGetApartmentType(ptr ptr) ole32.CoGetApartmentType ++@ stdcall CoGetCallContext(ptr ptr) ole32.CoGetCallContext ++@ stdcall CoGetCallerTID(ptr) ole32.CoGetCallerTID ++@ stub CoGetCancelObject ++@ stdcall CoGetClassObject(ptr long ptr ptr ptr) ole32.CoGetClassObject ++@ stdcall CoGetContextToken(ptr) ole32.CoGetContextToken ++@ stdcall CoGetCurrentLogicalThreadId(ptr) ole32.CoGetCurrentLogicalThreadId ++@ stdcall CoGetCurrentProcess() ole32.CoGetCurrentProcess ++@ stdcall CoGetDefaultContext(long ptr ptr) ole32.CoGetDefaultContext ++@ stdcall CoGetInterfaceAndReleaseStream(ptr ptr ptr) ole32.CoGetInterfaceAndReleaseStream ++@ stdcall CoGetMalloc(long ptr) ole32.CoGetMalloc ++@ stdcall CoGetMarshalSizeMax(ptr ptr ptr long ptr long) ole32.CoGetMarshalSizeMax ++@ stdcall CoGetObjectContext(ptr ptr) ole32.CoGetObjectContext ++@ stdcall CoGetPSClsid(ptr ptr) ole32.CoGetPSClsid ++@ stdcall CoGetStandardMarshal(ptr ptr long ptr long ptr) ole32.CoGetStandardMarshal ++@ stub CoGetStdMarshalEx ++@ stdcall CoGetTreatAsClass(ptr ptr) ole32.CoGetTreatAsClass ++@ stdcall CoImpersonateClient() ole32.CoImpersonateClient ++@ stub CoIncrementMTAUsage ++@ stdcall CoInitializeEx(ptr long) ole32.CoInitializeEx ++@ stdcall CoInitializeSecurity(ptr long ptr ptr long long ptr long ptr) ole32.CoInitializeSecurity ++@ stub CoInvalidateRemoteMachineBindings ++@ stdcall CoIsHandlerConnected(ptr) ole32.CoIsHandlerConnected ++@ stdcall CoLockObjectExternal(ptr long long) ole32.CoLockObjectExternal ++@ stdcall CoMarshalHresult(ptr long) ole32.CoMarshalHresult ++@ stdcall CoMarshalInterThreadInterfaceInStream(ptr ptr ptr) ole32.CoMarshalInterThreadInterfaceInStream ++@ stdcall CoMarshalInterface(ptr ptr ptr long ptr long) ole32.CoMarshalInterface ++@ stub CoQueryAuthenticationServices ++@ stdcall CoQueryClientBlanket(ptr ptr ptr ptr ptr ptr ptr) ole32.CoQueryClientBlanket ++@ stdcall CoQueryProxyBlanket(ptr ptr ptr ptr ptr ptr ptr ptr) ole32.CoQueryProxyBlanket ++@ stub CoRegisterActivationFilter ++@ stdcall CoRegisterClassObject(ptr ptr long long ptr) ole32.CoRegisterClassObject ++@ stdcall CoRegisterPSClsid(ptr ptr) ole32.CoRegisterPSClsid ++@ stub CoRegisterSurrogate ++@ stdcall CoReleaseMarshalData(ptr) ole32.CoReleaseMarshalData ++@ stdcall CoReleaseServerProcess() ole32.CoReleaseServerProcess ++@ stdcall CoResumeClassObjects() ole32.CoResumeClassObjects ++@ stdcall CoRevertToSelf() ole32.CoRevertToSelf ++@ stdcall CoRevokeClassObject(long) ole32.CoRevokeClassObject ++@ stub CoSetCancelObject ++@ stdcall CoSetProxyBlanket(ptr long long ptr long long ptr long) ole32.CoSetProxyBlanket ++@ stdcall CoSuspendClassObjects() ole32.CoSuspendClassObjects ++@ stdcall CoSwitchCallContext(ptr ptr) ole32.CoSwitchCallContext ++@ stdcall CoTaskMemAlloc(long) ole32.CoTaskMemAlloc ++@ stdcall CoTaskMemFree(ptr) ole32.CoTaskMemFree ++@ stdcall CoTaskMemRealloc(ptr long) ole32.CoTaskMemRealloc ++@ stub CoTestCancel ++@ stdcall CoUninitialize() ole32.CoUninitialize ++@ stdcall CoUnmarshalHresult(ptr ptr) ole32.CoUnmarshalHresult ++@ stdcall CoUnmarshalInterface(ptr ptr ptr) ole32.CoUnmarshalInterface ++@ stdcall CoWaitForMultipleHandles(long long long ptr ptr) ole32.CoWaitForMultipleHandles ++@ stub CoWaitForMultipleObjects ++@ stdcall CreateStreamOnHGlobal(ptr long ptr) ole32.CreateStreamOnHGlobal ++@ stdcall FreePropVariantArray(long ptr) ole32.FreePropVariantArray ++@ stdcall GetHGlobalFromStream(ptr ptr) ole32.GetHGlobalFromStream ++@ stdcall IIDFromString(wstr ptr) ole32.IIDFromString ++@ stdcall ProgIDFromCLSID(ptr ptr) ole32.ProgIDFromCLSID ++@ stdcall PropVariantClear(ptr) ole32.PropVariantClear ++@ stdcall PropVariantCopy(ptr ptr) ole32.PropVariantCopy ++@ stub RoGetAgileReference ++@ stdcall StringFromCLSID(ptr ptr) ole32.StringFromCLSID ++@ stdcall StringFromGUID2(ptr ptr long) ole32.StringFromGUID2 ++@ stdcall StringFromIID(ptr ptr) ole32.StringFromIID +diff --git a/tools/make_specfiles b/tools/make_specfiles +index 16db908..e50ba18 100755 +--- a/tools/make_specfiles ++++ b/tools/make_specfiles +@@ -224,6 +224,7 @@ my @dll_groups = + "ole32", + "api-ms-win-downlevel-ole32-l1-1-0", + "api-ms-win-core-com-l1-1-0", ++ "api-ms-win-core-com-l1-1-1", + "combase", + ], + [ +-- +2.6.4 + diff --git a/patches/api-ms-win-crt-Stub_DLLs/definition b/patches/api-ms-win-crt-Stub_DLLs/definition index a2dca98b..980edba4 100644 --- a/patches/api-ms-win-crt-Stub_DLLs/definition +++ b/patches/api-ms-win-crt-Stub_DLLs/definition @@ -1 +1,3 @@ Fixes: Add stub dlls required for MSVC 2015 runtime library (Windows 10) +Fixes: Add api-ms-win-core-com-l1-1-1 dll +Depends: ole32-CoGetApartmentType diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index dca0185f..bb0bd486 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -2111,6 +2111,13 @@ if test "$enable_d3dx9_24_ID3DXEffect" -eq 1; then enable_d3dx9_25_ID3DXEffect=1 fi +if test "$enable_api_ms_win_crt_Stub_DLLs" -eq 1; then + if test "$enable_ole32_CoGetApartmentType" -gt 1; then + abort "Patchset ole32-CoGetApartmentType disabled, but api-ms-win-crt-Stub_DLLs depends on that." + fi + enable_ole32_CoGetApartmentType=1 +fi + if test "$enable_advapi32_LsaLookupSids" -eq 1; then if test "$enable_server_CreateProcess_ACLs" -gt 1; then abort "Patchset server-CreateProcess_ACLs disabled, but advapi32-LsaLookupSids depends on that." @@ -2376,15 +2383,35 @@ if test "$enable_amstream_GetMultiMediaStream" -eq 1; then ) >> "$patchlist" fi -# Patchset api-ms-win-crt-Stub_DLLs +# Patchset ole32-CoGetApartmentType # | # | Modified files: -# | * dlls/ucrtbase/ucrtbase.spec +# | * dlls/api-ms-win-core-com-l1-1-0/api-ms-win-core-com-l1-1-0.spec, dlls/api-ms-win-downlevel-ole32-l1-1-0/api-ms-win- +# | downlevel-ole32-l1-1-0.spec, dlls/combase/combase.spec, dlls/ole32/compobj.c, dlls/ole32/ole32.spec, +# | dlls/ole32/tests/compobj.c, include/objidl.idl +# | +if test "$enable_ole32_CoGetApartmentType" -eq 1; then + patch_apply ole32-CoGetApartmentType/0001-ole32-Implement-CoGetApartmentType.patch + ( + echo '+ { "Michael Müller", "ole32: Implement CoGetApartmentType.", 1 },'; + ) >> "$patchlist" +fi + +# Patchset api-ms-win-crt-Stub_DLLs +# | +# | This patchset has the following (direct or indirect) dependencies: +# | * ole32-CoGetApartmentType +# | +# | Modified files: +# | * configure.ac, dlls/api-ms-win-core-com-l1-1-1/Makefile.in, dlls/api-ms-win-core-com-l1-1-1/api-ms-win-core- +# | com-l1-1-1.spec, dlls/ucrtbase/ucrtbase.spec, tools/make_specfiles # | if test "$enable_api_ms_win_crt_Stub_DLLs" -eq 1; then patch_apply api-ms-win-crt-Stub_DLLs/0001-ucrtbase-Hook-up-some-functions-with-new-names-to-ex.patch + patch_apply api-ms-win-crt-Stub_DLLs/0002-api-ms-win-core-com-l1-1-1-Add-dll.patch ( echo '+ { "Martin Storsjo", "ucrtbase: Hook up some functions with new names to existing implementations.", 1 },'; + echo '+ { "Michael Müller", "api-ms-win-core-com-l1-1-1: Add dll.", 1 },'; ) >> "$patchlist" fi @@ -4807,20 +4834,6 @@ if test "$enable_nvencodeapi_Video_Encoder" -eq 1; then ) >> "$patchlist" fi -# Patchset ole32-CoGetApartmentType -# | -# | Modified files: -# | * dlls/api-ms-win-core-com-l1-1-0/api-ms-win-core-com-l1-1-0.spec, dlls/api-ms-win-downlevel-ole32-l1-1-0/api-ms-win- -# | downlevel-ole32-l1-1-0.spec, dlls/combase/combase.spec, dlls/ole32/compobj.c, dlls/ole32/ole32.spec, -# | dlls/ole32/tests/compobj.c, include/objidl.idl -# | -if test "$enable_ole32_CoGetApartmentType" -eq 1; then - patch_apply ole32-CoGetApartmentType/0001-ole32-Implement-CoGetApartmentType.patch - ( - echo '+ { "Michael Müller", "ole32: Implement CoGetApartmentType.", 1 },'; - ) >> "$patchlist" -fi - # Patchset oleaut32-TKIND_COCLASS # | # | This patchset fixes the following Wine bugs: