From: Rémi Bernon rbernon@codeweavers.com
--- MAINTAINERS | 4 +++ configure.ac | 1 + dlls/winewinrt/Makefile.in | 5 ++++ dlls/winewinrt/main.c | 39 ++++++++++++++++++++++++++++++ dlls/winewinrt/winewinrt.spec | 3 +++ dlls/winewinrt/winewinrt_private.h | 29 ++++++++++++++++++++++ 6 files changed, 81 insertions(+) create mode 100644 dlls/winewinrt/Makefile.in create mode 100644 dlls/winewinrt/main.c create mode 100644 dlls/winewinrt/winewinrt.spec create mode 100644 dlls/winewinrt/winewinrt_private.h
diff --git a/MAINTAINERS b/MAINTAINERS index 22351f5af60..1257db65d9b 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -383,6 +383,10 @@ M: Alexandre Julliard julliard@winehq.org P: Erich E. Hoover erich.e.hoover@wine-staging.com F: server/
+Wine WinRT +M: Rémi Bernon rbernon@codeweavers.com +F: dlls/winewinrt/ + Winemaker M: André Zwing nerv@dawncrow.de F: tools/winemaker/ diff --git a/configure.ac b/configure.ac index 16bada50512..fa2fdde3039 100644 --- a/configure.ac +++ b/configure.ac @@ -3163,6 +3163,7 @@ WINE_CONFIG_MAKEFILE(dlls/wineps16.drv16,enable_win16) WINE_CONFIG_MAKEFILE(dlls/winepulse.drv) WINE_CONFIG_MAKEFILE(dlls/wineusb.sys) WINE_CONFIG_MAKEFILE(dlls/winevulkan) +WINE_CONFIG_MAKEFILE(dlls/winewinrt) WINE_CONFIG_MAKEFILE(dlls/winex11.drv) WINE_CONFIG_MAKEFILE(dlls/winexinput.sys) WINE_CONFIG_MAKEFILE(dlls/wing.dll16,enable_win16) diff --git a/dlls/winewinrt/Makefile.in b/dlls/winewinrt/Makefile.in new file mode 100644 index 00000000000..d76556fd157 --- /dev/null +++ b/dlls/winewinrt/Makefile.in @@ -0,0 +1,5 @@ +MODULE = winewinrt.dll +IMPORTS = combase uuid + +C_SRCS = \ + main.c diff --git a/dlls/winewinrt/main.c b/dlls/winewinrt/main.c new file mode 100644 index 00000000000..e3dbba3a500 --- /dev/null +++ b/dlls/winewinrt/main.c @@ -0,0 +1,39 @@ +/* WinRT Wine implementation + * + * Copyright 2021 Rémi Bernon for CodeWeavers + * + * 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 "initguid.h" +#include "winewinrt_private.h" + +WINE_DEFAULT_DEBUG_CHANNEL(winrt); + +HRESULT WINAPI DllGetClassObject( REFCLSID clsid, REFIID riid, void **out ) +{ + FIXME( "clsid %s, riid %s, out %p stub!\n", debugstr_guid( clsid ), debugstr_guid( riid ), out ); + return CLASS_E_CLASSNOTAVAILABLE; +} + +HRESULT WINAPI DllGetActivationFactory( HSTRING class_str, IActivationFactory **factory ) +{ + const WCHAR *buffer = WindowsGetStringRawBuffer( class_str, NULL ); + + FIXME( "class %s, factory %p stub!\n", debugstr_w(buffer), factory ); + + *factory = NULL; + return CLASS_E_CLASSNOTAVAILABLE; +} diff --git a/dlls/winewinrt/winewinrt.spec b/dlls/winewinrt/winewinrt.spec new file mode 100644 index 00000000000..20a8bfa98ea --- /dev/null +++ b/dlls/winewinrt/winewinrt.spec @@ -0,0 +1,3 @@ +@ stdcall -private DllCanUnloadNow() +@ stdcall -private DllGetActivationFactory(ptr ptr) +@ stdcall -private DllGetClassObject(ptr ptr ptr) diff --git a/dlls/winewinrt/winewinrt_private.h b/dlls/winewinrt/winewinrt_private.h new file mode 100644 index 00000000000..19d7ed67e69 --- /dev/null +++ b/dlls/winewinrt/winewinrt_private.h @@ -0,0 +1,29 @@ +/* WinRT implementation + * + * Copyright 2022 Rémi Bernon for CodeWeavers + * + * 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 <stdarg.h> +#include <stddef.h> + +#define COBJMACROS +#include "windef.h" +#include "winbase.h" +#include "winstring.h" +#include "activation.h" + +#include "wine/debug.h"