[RPCRT4]
authorAmine Khaldi <amine.khaldi@reactos.org>
Sun, 8 Jun 2014 17:11:47 +0000 (17:11 +0000)
committerAmine Khaldi <amine.khaldi@reactos.org>
Sun, 8 Jun 2014 17:11:47 +0000 (17:11 +0000)
* Do not rely on RegDeleteTreeW which shouldn't be exported.
CORE-8174

svn path=/trunk/; revision=63558

reactos/dll/win32/rpcrt4/CMakeLists.txt
reactos/dll/win32/rpcrt4/cpsf.c

index fa024a5..85207ed 100644 (file)
@@ -52,6 +52,6 @@ set_module_type(rpcrt4 win32dll)
 target_link_libraries(rpcrt4 wine uuid ${PSEH_LIB})
 
 add_delay_importlibs(rpcrt4 iphlpapi wininet secur32 user32)
-add_importlibs(rpcrt4 msvcrt advapi32 ws2_32 kernel32 ntdll)
+add_importlibs(rpcrt4 advapi32 ws2_32 shlwapi msvcrt kernel32 ntdll)
 add_pch(rpcrt4 precomp.h SOURCE)
 add_cd_file(TARGET rpcrt4 DESTINATION reactos/system32 FOR all)
index 72029a6..888b057 100644 (file)
 
 #include <winreg.h>
 
+#define NO_SHLWAPI_PATH
+#define NO_SHLWAPI_STRFCNS
+#define NO_SHLWAPI_GDI
+#define NO_SHLWAPI_STREAM
+#include <shlwapi.h>
+
 WINE_DEFAULT_DEBUG_CHANNEL(ole);
 
 static void format_clsid( WCHAR *buffer, const CLSID *clsid )
@@ -308,7 +314,7 @@ HRESULT WINAPI NdrDllUnregisterProxy(HMODULE hDll,
 
       strcpyW( keyname, interfaceW );
       format_clsid( keyname + strlenW(keyname), proxy->header.piid );
-      RegDeleteTreeW(HKEY_CLASSES_ROOT, keyname);
+      SHDeleteKeyW(HKEY_CLASSES_ROOT, keyname);
     }
     pProxyFileList++;
   }
@@ -316,7 +322,7 @@ HRESULT WINAPI NdrDllUnregisterProxy(HMODULE hDll,
   /* unregister clsid */
   strcpyW( keyname, clsidW );
   strcatW( keyname, clsid );
-  RegDeleteTreeW(HKEY_CLASSES_ROOT, keyname);
+  SHDeleteKeyW(HKEY_CLASSES_ROOT, keyname);
 
   return S_OK;
 }