[PATCH 07/15] api-ms-win-core-winrt-l1-1-0: Add stub dll.

Martin Storsjo martin at martin.st
Mon Dec 1 04:27:06 CST 2014


RoInitialize gets called by the crt init code when building
binaries using MSVC 2013 against the "store" CRT libraries
(which also causes the binaries to link against
msvcr120_app.dll instead of msvcr120.dll).
---
 configure                                          |  2 +
 configure.ac                                       |  1 +
 dlls/api-ms-win-core-winrt-l1-1-0/Makefile.in      |  5 +++
 .../api-ms-win-core-winrt-l1-1-0.spec              |  9 ++++
 dlls/api-ms-win-core-winrt-l1-1-0/main.c           | 51 ++++++++++++++++++++++
 5 files changed, 68 insertions(+)
 create mode 100644 dlls/api-ms-win-core-winrt-l1-1-0/Makefile.in
 create mode 100644 dlls/api-ms-win-core-winrt-l1-1-0/api-ms-win-core-winrt-l1-1-0.spec
 create mode 100644 dlls/api-ms-win-core-winrt-l1-1-0/main.c

diff --git a/configure b/configure
index d27495a..ed2a9e0 100755
--- a/configure
+++ b/configure
@@ -889,6 +889,7 @@ enable_api_ms_win_core_timezone_l1_1_0
 enable_api_ms_win_core_url_l1_1_0
 enable_api_ms_win_core_util_l1_1_0
 enable_api_ms_win_core_winrt_error_l1_1_0
+enable_api_ms_win_core_winrt_l1_1_0
 enable_api_ms_win_core_winrt_string_l1_1_0
 enable_api_ms_win_downlevel_advapi32_l1_1_0
 enable_api_ms_win_downlevel_advapi32_l2_1_0
@@ -16805,6 +16806,7 @@ wine_fn_config_dll api-ms-win-core-timezone-l1-1-0 enable_api_ms_win_core_timezo
 wine_fn_config_dll api-ms-win-core-url-l1-1-0 enable_api_ms_win_core_url_l1_1_0
 wine_fn_config_dll api-ms-win-core-util-l1-1-0 enable_api_ms_win_core_util_l1_1_0
 wine_fn_config_dll api-ms-win-core-winrt-error-l1-1-0 enable_api_ms_win_core_winrt_error_l1_1_0
+wine_fn_config_dll api-ms-win-core-winrt-l1-1-0 enable_api_ms_win_core_winrt_l1_1_0
 wine_fn_config_dll api-ms-win-core-winrt-string-l1-1-0 enable_api_ms_win_core_winrt_string_l1_1_0
 wine_fn_config_dll api-ms-win-downlevel-advapi32-l1-1-0 enable_api_ms_win_downlevel_advapi32_l1_1_0
 wine_fn_config_dll api-ms-win-downlevel-advapi32-l2-1-0 enable_api_ms_win_downlevel_advapi32_l2_1_0
diff --git a/configure.ac b/configure.ac
index ff8ca29..f717fbe 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2681,6 +2681,7 @@ WINE_CONFIG_DLL(api-ms-win-core-timezone-l1-1-0)
 WINE_CONFIG_DLL(api-ms-win-core-url-l1-1-0)
 WINE_CONFIG_DLL(api-ms-win-core-util-l1-1-0)
 WINE_CONFIG_DLL(api-ms-win-core-winrt-error-l1-1-0)
+WINE_CONFIG_DLL(api-ms-win-core-winrt-l1-1-0)
 WINE_CONFIG_DLL(api-ms-win-core-winrt-string-l1-1-0)
 WINE_CONFIG_DLL(api-ms-win-downlevel-advapi32-l1-1-0)
 WINE_CONFIG_DLL(api-ms-win-downlevel-advapi32-l2-1-0)
diff --git a/dlls/api-ms-win-core-winrt-l1-1-0/Makefile.in b/dlls/api-ms-win-core-winrt-l1-1-0/Makefile.in
new file mode 100644
index 0000000..c4be41a
--- /dev/null
+++ b/dlls/api-ms-win-core-winrt-l1-1-0/Makefile.in
@@ -0,0 +1,5 @@
+MODULE    = api-ms-win-core-winrt-l1-1-0.dll
+IMPORTS   = ole32
+
+C_SRCS = \
+        main.c
diff --git a/dlls/api-ms-win-core-winrt-l1-1-0/api-ms-win-core-winrt-l1-1-0.spec b/dlls/api-ms-win-core-winrt-l1-1-0/api-ms-win-core-winrt-l1-1-0.spec
new file mode 100644
index 0000000..344265a
--- /dev/null
+++ b/dlls/api-ms-win-core-winrt-l1-1-0/api-ms-win-core-winrt-l1-1-0.spec
@@ -0,0 +1,9 @@
+@ stub RoActivateInstance
+@ stub RoGetActivationFactory
+@ stub RoGetApartmentIdentifier
+@ stdcall RoInitialize(long)
+@ stub RoRegisterActivationFactories
+@ stub RoRegisterForApartmentShutdown
+@ stub RoRevokeActivationFactories
+@ stdcall RoUninitialize()
+@ stub RoUnregisterForApartmentShutdown
diff --git a/dlls/api-ms-win-core-winrt-l1-1-0/main.c b/dlls/api-ms-win-core-winrt-l1-1-0/main.c
new file mode 100644
index 0000000..4cf1105
--- /dev/null
+++ b/dlls/api-ms-win-core-winrt-l1-1-0/main.c
@@ -0,0 +1,51 @@
+/*
+ * Copyright 2014 Martin Storsjo
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+#include "objbase.h"
+
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(winrt);
+
+typedef enum
+{
+    RO_INIT_SINGLETHREADED = 0,
+    RO_INIT_MULTITHREADED  = 1,
+} RO_INIT_TYPE;
+
+/***********************************************************************
+ *      RoInitialize (api-ms-win-core-winrt-l1-1-0.@)
+ */
+HRESULT WINAPI RoInitialize(RO_INIT_TYPE type)
+{
+    switch (type) {
+    case RO_INIT_SINGLETHREADED:
+        return CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
+    default:
+        FIXME("type %d\n", type);
+    case RO_INIT_MULTITHREADED:
+        return CoInitializeEx(NULL, COINIT_MULTITHREADED);
+    }
+}
+
+/***********************************************************************
+ *      RoUninitialize (api-ms-win-core-winrt-l1-1-0.@)
+ */
+void WINAPI RoUninitialize(void)
+{
+    CoUninitialize();
+}
-- 
1.8.1.2




More information about the wine-patches mailing list