From: Vijay Kiran Kamuju Subject: [PATCH V2 1/2] xactengine3_7: Add new dll. Message-Id: Date: Fri, 3 Jul 2020 01:25:20 +0200 Based on original patch from Ethan Lee Signed-off-by: Vijay Kiran Kamuju From 6c522e5cd127bfd96d181171fa4cced21c4c35be Mon Sep 17 00:00:00 2001 From: Vijay Kiran Kamuju Date: Sat, 13 Jun 2020 22:44:23 +0200 Subject: [PATCH V2 1/2] xactengine3_7: Add new dll. Based on original patch from Ethan Lee Signed-off-by: Vijay Kiran Kamuju --- configure | 2 + configure.ac | 1 + dlls/xactengine3_7/Makefile.in | 6 +++ dlls/xactengine3_7/xact_classes.idl | 28 +++++++++++ dlls/xactengine3_7/xact_dll.c | 67 +++++++++++++++++++++++++++ dlls/xactengine3_7/xactengine3_7.spec | 4 ++ 6 files changed, 108 insertions(+) create mode 100644 dlls/xactengine3_7/Makefile.in create mode 100644 dlls/xactengine3_7/xact_classes.idl create mode 100644 dlls/xactengine3_7/xact_dll.c create mode 100644 dlls/xactengine3_7/xactengine3_7.spec diff --git a/configure b/configure index 0cff0025aa..db89c70a15 100755 --- a/configure +++ b/configure @@ -1702,6 +1702,7 @@ enable_x3daudio1_4 enable_x3daudio1_5 enable_x3daudio1_6 enable_x3daudio1_7 +enable_xactengine3_7 enable_xapofx1_1 enable_xapofx1_2 enable_xapofx1_3 @@ -21312,6 +21313,7 @@ wine_fn_config_makefile dlls/x3daudio1_4 enable_x3daudio1_4 wine_fn_config_makefile dlls/x3daudio1_5 enable_x3daudio1_5 wine_fn_config_makefile dlls/x3daudio1_6 enable_x3daudio1_6 wine_fn_config_makefile dlls/x3daudio1_7 enable_x3daudio1_7 +wine_fn_config_makefile dlls/xactengine3_7 enable_xactengine3_7 wine_fn_config_makefile dlls/xapofx1_1 enable_xapofx1_1 wine_fn_config_makefile dlls/xapofx1_2 enable_xapofx1_2 wine_fn_config_makefile dlls/xapofx1_3 enable_xapofx1_3 diff --git a/configure.ac b/configure.ac index d596422320..34efb99780 100644 --- a/configure.ac +++ b/configure.ac @@ -3896,6 +3896,7 @@ WINE_CONFIG_MAKEFILE(dlls/x3daudio1_4) WINE_CONFIG_MAKEFILE(dlls/x3daudio1_5) WINE_CONFIG_MAKEFILE(dlls/x3daudio1_6) WINE_CONFIG_MAKEFILE(dlls/x3daudio1_7) +WINE_CONFIG_MAKEFILE(dlls/xactengine3_7) WINE_CONFIG_MAKEFILE(dlls/xapofx1_1) WINE_CONFIG_MAKEFILE(dlls/xapofx1_2) WINE_CONFIG_MAKEFILE(dlls/xapofx1_3) diff --git a/dlls/xactengine3_7/Makefile.in b/dlls/xactengine3_7/Makefile.in new file mode 100644 index 0000000000..f92aad6680 --- /dev/null +++ b/dlls/xactengine3_7/Makefile.in @@ -0,0 +1,6 @@ +MODULE = xactengine3_7.dll + +C_SRCS = \ + xact_dll.c + +IDL_SRCS = xact_classes.idl diff --git a/dlls/xactengine3_7/xact_classes.idl b/dlls/xactengine3_7/xact_classes.idl new file mode 100644 index 0000000000..24c792e2f0 --- /dev/null +++ b/dlls/xactengine3_7/xact_classes.idl @@ -0,0 +1,28 @@ +/* + * COM Classes for xactengine + * + * Copyright 2018 Ethan Lee 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 + */ + +#pragma makedep register + +[ + helpstring("XACT3 Class"), + threading(both), + uuid(bcc782bc-6492-4c22-8c35-f5d72fe73c6e) +] +coclass XACTEngine37 { interface IXACT37Engine; } diff --git a/dlls/xactengine3_7/xact_dll.c b/dlls/xactengine3_7/xact_dll.c new file mode 100644 index 0000000000..f4cd84f044 --- /dev/null +++ b/dlls/xactengine3_7/xact_dll.c @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2018 Ethan Lee 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 "config.h" + +#include + +#include "xact3.h" +#include + +#include "rpcproxy.h" +#include "wine/debug.h" + +WINE_DEFAULT_DEBUG_CHANNEL(xact3); + +static HINSTANCE instance; + +BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD reason, void *pReserved) +{ + TRACE("(%p, %d, %p)\n", hinstDLL, reason, pReserved); + + switch (reason) + { + case DLL_PROCESS_ATTACH: + instance = hinstDLL; + DisableThreadLibraryCalls( hinstDLL ); + break; + } + return TRUE; +} + +HRESULT WINAPI DllCanUnloadNow(void) +{ + return S_FALSE; +} + +HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void **ppv) +{ + FIXME("(%s, %s, %p)\n", debugstr_guid(rclsid), debugstr_guid(riid), ppv); + + return CLASS_E_CLASSNOTAVAILABLE; +} + +HRESULT WINAPI DllRegisterServer(void) +{ + return __wine_register_resources(instance); +} + +HRESULT WINAPI DllUnregisterServer(void) +{ + return __wine_unregister_resources(instance); +} diff --git a/dlls/xactengine3_7/xactengine3_7.spec b/dlls/xactengine3_7/xactengine3_7.spec new file mode 100644 index 0000000000..b16365d0c9 --- /dev/null +++ b/dlls/xactengine3_7/xactengine3_7.spec @@ -0,0 +1,4 @@ +@ stdcall -private DllCanUnloadNow() +@ stdcall -private DllGetClassObject(ptr ptr ptr) +@ stdcall -private DllRegisterServer() +@ stdcall -private DllUnregisterServer() -- 2.27.0