Vijay Kiran Kamuju : qdvd: Register the DvdGraphBuilder coclass.
Alexandre Julliard
julliard at winehq.org
Mon Jun 29 14:59:20 CDT 2020
Module: wine
Branch: master
Commit: f7164ccfd17da8d978dbabff6eff84ce6caf1c8d
URL: https://source.winehq.org/git/wine.git/?a=commit;h=f7164ccfd17da8d978dbabff6eff84ce6caf1c8d
Author: Vijay Kiran Kamuju <infyquest at gmail.com>
Date: Sun Jun 28 17:33:45 2020 -0500
qdvd: Register the DvdGraphBuilder coclass.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49458
Signed-off-by: Vijay Kiran Kamuju <infyquest at gmail.com>
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
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(-)
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;
More information about the wine-cvs
mailing list