[PATCH 1/6] comdlg32: Add implementation of DllRegisterServer/DllUnregisterServer. (try 2)
David Hedberg
david.hedberg at gmail.com
Tue Mar 29 14:13:18 CDT 2011
Try 2: Using IRegistrar.
---
dlls/comdlg32/Makefile.in | 2 ++
dlls/comdlg32/cdlg32.c | 18 ++++++++++++++++++
dlls/comdlg32/comdlg32.spec | 2 ++
dlls/comdlg32/comdlg32_classes.idl | 33 +++++++++++++++++++++++++++++++++
tools/wine.inf.in | 1 +
5 files changed, 56 insertions(+), 0 deletions(-)
create mode 100644 dlls/comdlg32/comdlg32_classes.idl
diff --git a/dlls/comdlg32/Makefile.in b/dlls/comdlg32/Makefile.in
index 6bf1c1a..f75c706 100644
--- a/dlls/comdlg32/Makefile.in
+++ b/dlls/comdlg32/Makefile.in
@@ -57,4 +57,6 @@ SVG_SRCS = \
pd32_nocollate.svg \
pd32_portrait.svg
+IDL_R_SRCS = comdlg32_classes.idl
+
@MAKE_DLL_RULES@
diff --git a/dlls/comdlg32/cdlg32.c b/dlls/comdlg32/cdlg32.c
index de0f486..4f6b98a 100644
--- a/dlls/comdlg32/cdlg32.c
+++ b/dlls/comdlg32/cdlg32.c
@@ -27,6 +27,8 @@
#include "winbase.h"
#include "wingdi.h"
#include "winuser.h"
+#include "objbase.h"
+#include "rpcproxy.h"
#include "commdlg.h"
#include "cderr.h"
#include "wine/debug.h"
@@ -273,3 +275,19 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void **ppv)
return CLASS_E_CLASSNOTAVAILABLE;
}
+
+/***********************************************************************
+ * DllRegisterServer (COMMDLG32.@)
+ */
+HRESULT WINAPI DllRegisterServer(void)
+{
+ return __wine_register_resources(COMDLG32_hInstance, NULL);
+}
+
+/***********************************************************************
+ * DllUnregisterServer (COMMDLG32.@)
+ */
+HRESULT WINAPI DllUnregisterServer(void)
+{
+ return __wine_unregister_resources(COMDLG32_hInstance, NULL);
+}
diff --git a/dlls/comdlg32/comdlg32.spec b/dlls/comdlg32/comdlg32.spec
index 118d3d7..01c7cf6 100644
--- a/dlls/comdlg32/comdlg32.spec
+++ b/dlls/comdlg32/comdlg32.spec
@@ -4,6 +4,8 @@
@ stdcall ChooseFontW(ptr)
@ stdcall CommDlgExtendedError()
@ stdcall -private DllGetClassObject(ptr ptr ptr)
+@ stdcall -private DllRegisterServer()
+@ stdcall -private DllUnregisterServer()
@ stdcall FindTextA(ptr)
@ stdcall FindTextW(ptr)
@ stdcall GetFileTitleA(str ptr long)
diff --git a/dlls/comdlg32/comdlg32_classes.idl b/dlls/comdlg32/comdlg32_classes.idl
new file mode 100644
index 0000000..b45eeb5
--- /dev/null
+++ b/dlls/comdlg32/comdlg32_classes.idl
@@ -0,0 +1,33 @@
+/*
+ * Coclasses for comdlg32
+ *
+ * Copyright 2011 David Hedberg
+ *
+ * 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
+ */
+
+[
+ helpstring("File Open Dialog"),
+ threading(apartment),
+ uuid(dc1c5a9c-e88a-4dde-a5a1-60f82a20aef7)
+]
+coclass FileOpenDialog { interface IFileOpenDialog; }
+
+[
+ helpstring("File Save Dialog"),
+ threading(apartment),
+ uuid(c0b4e2f3-ba21-4773-8dba-335ec946eb8b)
+]
+coclass FileSaveDialog { interface IFileSaveDialog; }
diff --git a/tools/wine.inf.in b/tools/wine.inf.in
index ff72e56..5c09faf 100644
--- a/tools/wine.inf.in
+++ b/tools/wine.inf.in
@@ -2489,6 +2489,7 @@ HKLM,%CurrentVersion%\Telephony\Country List\998,"SameAreaRule",,"G"
11,,avifil32.dll,1
11,,browseui.dll,1
11,,comctl32.dll,2
+11,,comdlg32.dll,1
11,,cryptdlg.dll,1
11,,cryptnet.dll,1
11,,d3dxof.dll,1
--
1.7.4.1
More information about the wine-patches
mailing list