From: Vijay Kiran Kamuju infyquest@gmail.com
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49458 Signed-off-by: Vijay Kiran Kamuju infyquest@gmail.com Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/qdvd/Makefile.in | 3 +++ dlls/qdvd/qdvd.spec | 4 ++-- dlls/qdvd/qdvd_classes.idl | 26 ++++++++++++++++++++++++++ dlls/qdvd/qdvd_main.c | 17 +++++++++++++++++ 4 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 dlls/qdvd/qdvd_classes.idl
diff --git a/dlls/qdvd/Makefile.in b/dlls/qdvd/Makefile.in index c4b7dcce1f..b3b13486ed 100644 --- a/dlls/qdvd/Makefile.in +++ b/dlls/qdvd/Makefile.in @@ -4,3 +4,6 @@ EXTRADLLFLAGS = -mno-cygwin
C_SRCS = \ qdvd_main.c + +IDL_SRCS = \ + qdvd_classes.idl diff --git a/dlls/qdvd/qdvd.spec b/dlls/qdvd/qdvd.spec index c534b4fbf4..b16365d0c9 100644 --- a/dlls/qdvd/qdvd.spec +++ b/dlls/qdvd/qdvd.spec @@ -1,4 +1,4 @@ @ stdcall -private DllCanUnloadNow() @ stdcall -private DllGetClassObject(ptr ptr ptr) -@ stub DllRegisterServer -@ stub DllUnregisterServer +@ stdcall -private DllRegisterServer() +@ stdcall -private DllUnregisterServer() diff --git a/dlls/qdvd/qdvd_classes.idl b/dlls/qdvd/qdvd_classes.idl new file mode 100644 index 0000000000..7fd2a081ba --- /dev/null +++ b/dlls/qdvd/qdvd_classes.idl @@ -0,0 +1,26 @@ +/* + * Copyright 2020 Vijay Kiran Kamuju + * + * 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("DVD Graph Builder"), + threading(both), + uuid(fcc152b7-f372-11d0-8e00-00c04fd7c08b), +] +coclass DvdGraphBuilder {} diff --git a/dlls/qdvd/qdvd_main.c b/dlls/qdvd/qdvd_main.c index 5c7368ce90..72dcda7c91 100644 --- a/dlls/qdvd/qdvd_main.c +++ b/dlls/qdvd/qdvd_main.c @@ -21,17 +21,24 @@ #include <stdarg.h> #include "windef.h" #include "winbase.h" +#include "oleidl.h" +#include "rpcproxy.h" #include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(qdvd);
+static HINSTANCE qdvd_instance; + BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, void *reserved) { if (reason == DLL_WINE_PREATTACH) return FALSE; /* prefer native version */
if (reason == DLL_PROCESS_ATTACH) + { + qdvd_instance = instance; DisableThreadLibraryCalls(instance); + } return TRUE; }
@@ -41,6 +48,16 @@ HRESULT WINAPI DllGetClassObject(REFCLSID clsid, REFIID iid, void **out) return CLASS_E_CLASSNOTAVAILABLE; }
+HRESULT WINAPI DllRegisterServer(void) +{ + return __wine_register_resources(qdvd_instance); +} + +HRESULT WINAPI DllUnregisterServer(void) +{ + return __wine_unregister_resources(qdvd_instance); +} + HRESULT WINAPI DllCanUnloadNow(void) { return S_FALSE;