From 18b1f5ca476a8fc1d87a5615de528d1139045b15 Mon Sep 17 00:00:00 2001 From: David Hedberg Date: Tue, 29 Mar 2011 21:13:18 +0200 Subject: [PATCH] comdlg32: Add implementation of DllRegisterServer/DllUnregisterServer. --- 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(+) create mode 100644 dlls/comdlg32/comdlg32_classes.idl diff --git a/dlls/comdlg32/Makefile.in b/dlls/comdlg32/Makefile.in index 6bf1c1adfb0..f75c706239f 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 de0f486f9e0..4f6b98aa627 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 118d3d770c5..01c7cf63777 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 00000000000..b45eeb55cd9 --- /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 ff72e563ff7..5c09faf7f86 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