From ed9e60fb775bbaf4d3bbb7a7480d6285954b3d1d Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Wed, 17 Jul 2019 09:26:16 +1000 Subject: [PATCH] directmanipulation: New stub dll. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=44865 Signed-off-by: Alistair Leslie-Hughes Signed-off-by: Vijay Kiran Kamuju Signed-off-by: Alexandre Julliard --- configure | 2 + configure.ac | 1 + dlls/directmanipulation/Makefile.in | 6 ++ dlls/directmanipulation/directmanipulation.c | 55 +++++++++++++++++++ .../directmanipulation.spec | 6 ++ 5 files changed, 70 insertions(+) create mode 100644 dlls/directmanipulation/Makefile.in create mode 100644 dlls/directmanipulation/directmanipulation.c create mode 100644 dlls/directmanipulation/directmanipulation.spec diff --git a/configure b/configure index b5287cdce1c..2832456d30d 100755 --- a/configure +++ b/configure @@ -1246,6 +1246,7 @@ enable_dhtmled_ocx enable_difxapi enable_dinput enable_dinput8 +enable_directmanipulation enable_dispex enable_dmband enable_dmcompos @@ -20622,6 +20623,7 @@ wine_fn_config_makefile dlls/dinput enable_dinput wine_fn_config_makefile dlls/dinput/tests enable_tests wine_fn_config_makefile dlls/dinput8 enable_dinput8 wine_fn_config_makefile dlls/dinput8/tests enable_tests +wine_fn_config_makefile dlls/directmanipulation enable_directmanipulation wine_fn_config_makefile dlls/dispdib.dll16 enable_win16 wine_fn_config_makefile dlls/dispex enable_dispex wine_fn_config_makefile dlls/dispex/tests enable_tests diff --git a/configure.ac b/configure.ac index 72276fc0665..b5f2ef0327b 100644 --- a/configure.ac +++ b/configure.ac @@ -3210,6 +3210,7 @@ WINE_CONFIG_MAKEFILE(dlls/dinput) WINE_CONFIG_MAKEFILE(dlls/dinput/tests) WINE_CONFIG_MAKEFILE(dlls/dinput8) WINE_CONFIG_MAKEFILE(dlls/dinput8/tests) +WINE_CONFIG_MAKEFILE(dlls/directmanipulation) WINE_CONFIG_MAKEFILE(dlls/dispdib.dll16,enable_win16) WINE_CONFIG_MAKEFILE(dlls/dispex) WINE_CONFIG_MAKEFILE(dlls/dispex/tests) diff --git a/dlls/directmanipulation/Makefile.in b/dlls/directmanipulation/Makefile.in new file mode 100644 index 00000000000..d09d652b61a --- /dev/null +++ b/dlls/directmanipulation/Makefile.in @@ -0,0 +1,6 @@ +MODULE = directmanipulation.dll + +EXTRADLLFLAGS = -mno-cygwin + +C_SRCS = \ + directmanipulation.c diff --git a/dlls/directmanipulation/directmanipulation.c b/dlls/directmanipulation/directmanipulation.c new file mode 100644 index 00000000000..21458ba1fe7 --- /dev/null +++ b/dlls/directmanipulation/directmanipulation.c @@ -0,0 +1,55 @@ +/* + * Copyright 2019 Alistair Leslie-Hughes + * + * 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 + +#include "windef.h" +#include "winbase.h" +#include "wine/debug.h" + +WINE_DEFAULT_DEBUG_CHANNEL(manipulation); + +static HINSTANCE dm_instance; + +BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, void *reserved) +{ + TRACE("(%p, %u, %p)\n", instance, reason, reserved); + + switch (reason) + { + case DLL_WINE_PREATTACH: + return FALSE; /* prefer native version */ + case DLL_PROCESS_ATTACH: + dm_instance = instance; + DisableThreadLibraryCalls(instance); + break; + } + + return TRUE; +} + +HRESULT WINAPI DllCanUnloadNow(void) +{ + return S_FALSE; +} + +HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv) +{ + FIXME("(%s,%s,%p): no interface found.\n", debugstr_guid(rclsid), debugstr_guid(riid), ppv); + return CLASS_E_CLASSNOTAVAILABLE; +} diff --git a/dlls/directmanipulation/directmanipulation.spec b/dlls/directmanipulation/directmanipulation.spec new file mode 100644 index 00000000000..6c8a107d5c7 --- /dev/null +++ b/dlls/directmanipulation/directmanipulation.spec @@ -0,0 +1,6 @@ +@ stub InitializeDManipHook +@ stdcall -private DllCanUnloadNow() +@ stub DllGetActivationFactory +@ stdcall -private DllGetClassObject(ptr ptr ptr) +@ stub DllRegisterServer() +@ stub DllUnregisterServer()