From 24a371c9d6917e87e8f6781a233286a3c04469f8 Mon Sep 17 00:00:00 2001 From: Andrew Eikum <aeikum@codeweavers.com> Date: Mon, 5 Oct 2015 11:33:09 -0500 Subject: [PATCH] xaudio2_1: Forward to xaudio2_7. Signed-off-by: Andrew Eikum <aeikum@codeweavers.com> --- configure | 2 ++ configure.ac | 1 + dlls/xaudio2_1/Makefile.in | 7 +++++ dlls/xaudio2_1/xaudio2_1.spec | 4 +++ dlls/xaudio2_1/xaudio_classes.idl | 28 +++++++++++++++++ dlls/xaudio2_1/xaudio_dll.c | 52 +++++++++++++++++++++++++++++++ include/xaudio2.idl | 7 +++++ 7 files changed, 101 insertions(+) create mode 100644 dlls/xaudio2_1/Makefile.in create mode 100644 dlls/xaudio2_1/xaudio2_1.spec create mode 100644 dlls/xaudio2_1/xaudio_classes.idl create mode 100644 dlls/xaudio2_1/xaudio_dll.c diff --git a/configure b/configure index 5b5000d8517..34edccee98d 100755 --- a/configure +++ b/configure @@ -1374,6 +1374,7 @@ enable_xapofx1_1 enable_xapofx1_3 enable_xapofx1_4 enable_xapofx1_5 +enable_xaudio2_1 enable_xaudio2_2 enable_xaudio2_3 enable_xaudio2_4 @@ -17916,6 +17917,7 @@ wine_fn_config_dll xapofx1_1 enable_xapofx1_1 wine_fn_config_dll xapofx1_3 enable_xapofx1_3 wine_fn_config_dll xapofx1_4 enable_xapofx1_4 wine_fn_config_dll xapofx1_5 enable_xapofx1_5 +wine_fn_config_dll xaudio2_1 enable_xaudio2_1 clean wine_fn_config_dll xaudio2_2 enable_xaudio2_2 clean wine_fn_config_dll xaudio2_3 enable_xaudio2_3 clean wine_fn_config_dll xaudio2_4 enable_xaudio2_4 clean diff --git a/configure.ac b/configure.ac index 51574dbf4d9..d350ea6cec5 100644 --- a/configure.ac +++ b/configure.ac @@ -3460,6 +3460,7 @@ WINE_CONFIG_DLL(xapofx1_1) WINE_CONFIG_DLL(xapofx1_3) WINE_CONFIG_DLL(xapofx1_4) WINE_CONFIG_DLL(xapofx1_5) +WINE_CONFIG_DLL(xaudio2_1,,[clean]) WINE_CONFIG_DLL(xaudio2_2,,[clean]) WINE_CONFIG_DLL(xaudio2_3,,[clean]) WINE_CONFIG_DLL(xaudio2_4,,[clean]) diff --git a/dlls/xaudio2_1/Makefile.in b/dlls/xaudio2_1/Makefile.in new file mode 100644 index 00000000000..282513b94b1 --- /dev/null +++ b/dlls/xaudio2_1/Makefile.in @@ -0,0 +1,7 @@ +MODULE = xaudio2_1.dll +IMPORTS = ole32 + +C_SRCS = \ + xaudio_dll.c + +IDL_SRCS = xaudio_classes.idl diff --git a/dlls/xaudio2_1/xaudio2_1.spec b/dlls/xaudio2_1/xaudio2_1.spec new file mode 100644 index 00000000000..cb263d4836b --- /dev/null +++ b/dlls/xaudio2_1/xaudio2_1.spec @@ -0,0 +1,4 @@ +@ stdcall -private DllCanUnloadNow() +@ stdcall -private DllGetClassObject(ptr ptr ptr) xaudio2_7.DllGetClassObject +@ stdcall -private DllRegisterServer() +@ stdcall -private DllUnregisterServer() diff --git a/dlls/xaudio2_1/xaudio_classes.idl b/dlls/xaudio2_1/xaudio_classes.idl new file mode 100644 index 00000000000..de85c0b037f --- /dev/null +++ b/dlls/xaudio2_1/xaudio_classes.idl @@ -0,0 +1,28 @@ +/* + * COM Classes for xaudio + * + * Copyright 2015 Andrew Eikum 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("XAudio2.1 Class"), + threading(both), + uuid(e21a7345-eb21-468e-be50-804db97cf708) +] +coclass XAudio21 { interface IXAudio22; } diff --git a/dlls/xaudio2_1/xaudio_dll.c b/dlls/xaudio2_1/xaudio_dll.c new file mode 100644 index 00000000000..7c95c288ca0 --- /dev/null +++ b/dlls/xaudio2_1/xaudio_dll.c @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2015 Andrew Eikum 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 "windef.h" +#include "winbase.h" +#include "objbase.h" +#include "rpcproxy.h" + +static HINSTANCE instance; + +BOOL WINAPI DllMain(HINSTANCE hinstance, DWORD reason, LPVOID reserved) +{ + switch (reason) + { + case DLL_PROCESS_ATTACH: + instance = hinstance; + DisableThreadLibraryCalls(hinstance); + break; + } + return TRUE; +} + +HRESULT WINAPI DllCanUnloadNow(void) +{ + return S_FALSE; +} + +HRESULT WINAPI DllRegisterServer(void) +{ + return __wine_register_resources(instance); +} + +HRESULT WINAPI DllUnregisterServer(void) +{ + return __wine_unregister_resources(instance); +} diff --git a/include/xaudio2.idl b/include/xaudio2.idl index bd79718806f..5d4726a8545 100644 --- a/include/xaudio2.idl +++ b/include/xaudio2.idl @@ -30,6 +30,13 @@ coclass XAudio2 { interface IUnknown; } +[ + uuid(e21a7345-eb21-468e-be50-804db97cf708) +] +coclass XAudio21 { + interface IUnknown; +} + [ uuid(b802058a-464a-42db-bc10-b650d6f2586a) ] -- GitLab