On 11/5/19 9:03 PM, Alistair Leslie-Hughes wrote:
Signed-off-by: Alistair Leslie-Hughes leslie_alistair@hotmail.com
configure | 2 + configure.ac | 1 + dlls/dsdmo/Makefile.in | 6 +++ dlls/dsdmo/dsdmo.spec | 4 ++ dlls/dsdmo/main.c | 85 ++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 98 insertions(+) create mode 100644 dlls/dsdmo/Makefile.in create mode 100644 dlls/dsdmo/dsdmo.spec create mode 100644 dlls/dsdmo/main.c
diff --git a/configure b/configure index 8ddfb4ecdd..d69d1ac4a3 100755 --- a/configure +++ b/configure @@ -1257,6 +1257,7 @@ enable_dpnlobby enable_dpvoice enable_dpwsockx enable_drmclien +enable_dsdmo enable_dsound enable_dsquery enable_dssenh @@ -20384,6 +20385,7 @@ wine_fn_config_makefile dlls/dpvoice enable_dpvoice wine_fn_config_makefile dlls/dpvoice/tests enable_tests wine_fn_config_makefile dlls/dpwsockx enable_dpwsockx wine_fn_config_makefile dlls/drmclien enable_drmclien +wine_fn_config_makefile dlls/dsdmo enable_dsdmo wine_fn_config_makefile dlls/dsound enable_dsound wine_fn_config_makefile dlls/dsound/tests enable_tests wine_fn_config_makefile dlls/dsquery enable_dsquery diff --git a/configure.ac b/configure.ac index 31aac11d31..c99db6984b 100644 --- a/configure.ac +++ b/configure.ac @@ -3237,6 +3237,7 @@ WINE_CONFIG_MAKEFILE(dlls/dpvoice) WINE_CONFIG_MAKEFILE(dlls/dpvoice/tests) WINE_CONFIG_MAKEFILE(dlls/dpwsockx) WINE_CONFIG_MAKEFILE(dlls/drmclien) +WINE_CONFIG_MAKEFILE(dlls/dsdmo) WINE_CONFIG_MAKEFILE(dlls/dsound) WINE_CONFIG_MAKEFILE(dlls/dsound/tests) WINE_CONFIG_MAKEFILE(dlls/dsquery) diff --git a/dlls/dsdmo/Makefile.in b/dlls/dsdmo/Makefile.in new file mode 100644 index 0000000000..99816ae0c0 --- /dev/null +++ b/dlls/dsdmo/Makefile.in @@ -0,0 +1,6 @@ +MODULE = dsdmo.dll
+EXTRADLLFLAGS = -mno-cygwin
+C_SRCS = \
- main.c
diff --git a/dlls/dsdmo/dsdmo.spec b/dlls/dsdmo/dsdmo.spec new file mode 100644 index 0000000000..b16365d0c9 --- /dev/null +++ b/dlls/dsdmo/dsdmo.spec @@ -0,0 +1,4 @@ +@ stdcall -private DllCanUnloadNow() +@ stdcall -private DllGetClassObject(ptr ptr ptr) +@ stdcall -private DllRegisterServer() +@ stdcall -private DllUnregisterServer() diff --git a/dlls/dsdmo/main.c b/dlls/dsdmo/main.c new file mode 100644 index 0000000000..61a67f44d8 --- /dev/null +++ b/dlls/dsdmo/main.c @@ -0,0 +1,85 @@ +/*
- 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
- */
+#define COBJMACROS
+#include "ole2.h" +#include "rpcproxy.h"
+#include "wine/debug.h"
+WINE_DEFAULT_DEBUG_CHANNEL(dsdmo);
+static HINSTANCE dsdmo_instance;
+/******************************************************************
DllMain
- */
+BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv) +{
- TRACE("(%p %d %p)\n", hInstDLL, fdwReason, lpv);
- switch(fdwReason)
- {
- case DLL_WINE_PREATTACH:
return FALSE; /* prefer native version */
- case DLL_PROCESS_ATTACH:
dsdmo_instance = hInstDLL;
DisableThreadLibraryCalls(dsdmo_instance);
break;
- case DLL_PROCESS_DETACH:
if (lpv) break;
break;
- }
- return TRUE;
+}
I know this was probably copied from elsewhere, but can you please get rid of the useless DLL_PROCESS_DETACH case, and maybe get rid of some of that Hungarian notation and LPVOID while you're at it?
+/***********************************************************************
DllGetClassObject
- */
+HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv) +{
- FIXME("%s %s %p\n", debugstr_guid(rclsid), debugstr_guid(riid), ppv);
- return CLASS_E_CLASSNOTAVAILABLE;
+}
+/***********************************************************************
DllCanUnloadNow
- */
+HRESULT WINAPI DllCanUnloadNow(void) +{
- return S_FALSE;
+}
+/***********************************************************************
DllRegisterServer
- */
+HRESULT WINAPI DllRegisterServer(void) +{
- TRACE("()\n");
- return __wine_register_resources(dsdmo_instance);
+}
+/***********************************************************************
DllUnregisterServer
- */
+HRESULT WINAPI DllUnregisterServer(void) +{
- TRACE("()\n");
- return __wine_unregister_resources(dsdmo_instance);
+}