Author: akhaldi
Date: Sun Jun  8 17:56:18 2014
New Revision: 63562

URL: http://svn.reactos.org/svn/reactos?rev=63562&view=rev
Log:
[WINDOWSCODECS]
* Do not rely on RegDeleteTreeW which shouldn't be exported.
CORE-8174

Modified:
    trunk/reactos/dll/win32/windowscodecs/regsvr.c

Modified: trunk/reactos/dll/win32/windowscodecs/regsvr.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/windowscodecs/regsvr.c?rev=63562&r1=63561&r2=63562&view=diff
==============================================================================
--- trunk/reactos/dll/win32/windowscodecs/regsvr.c      [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/windowscodecs/regsvr.c      [iso-8859-1] Sun Jun  8 
17:56:18 2014
@@ -17,6 +17,8 @@
  */
 
 #include "wincodecs_private.h"
+
+#include <shlwapi.h>
 
 /***********************************************************************
  *             interface for self-registering
@@ -374,11 +376,11 @@
     for (; res == ERROR_SUCCESS && list->clsid; ++list) {
        StringFromGUID2(list->clsid, buf, 39);
 
-       res = RegDeleteTreeW(coclass_key, buf);
+       res = SHDeleteKeyW(coclass_key, buf);
        if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS;
        if (res != ERROR_SUCCESS) goto error_close_coclass_key;
 
-       res = RegDeleteTreeW(instance_key, buf);
+       res = SHDeleteKeyW(instance_key, buf);
        if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS;
        if (res != ERROR_SUCCESS) goto error_close_coclass_key;
     }
@@ -552,11 +554,11 @@
     for (; res == ERROR_SUCCESS && list->clsid; ++list) {
        StringFromGUID2(list->clsid, buf, 39);
 
-       res = RegDeleteTreeW(coclass_key, buf);
+       res = SHDeleteKeyW(coclass_key, buf);
        if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS;
        if (res != ERROR_SUCCESS) goto error_close_coclass_key;
 
-       res = RegDeleteTreeW(instance_key, buf);
+       res = SHDeleteKeyW(instance_key, buf);
        if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS;
        if (res != ERROR_SUCCESS) goto error_close_coclass_key;
     }
@@ -709,11 +711,11 @@
     for (; res == ERROR_SUCCESS && list->clsid; ++list) {
        StringFromGUID2(list->clsid, buf, 39);
 
-       res = RegDeleteTreeW(coclass_key, buf);
+       res = SHDeleteKeyW(coclass_key, buf);
        if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS;
        if (res != ERROR_SUCCESS) goto error_close_coclass_key;
 
-       res = RegDeleteTreeW(instance_key, buf);
+       res = SHDeleteKeyW(instance_key, buf);
        if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS;
        if (res != ERROR_SUCCESS) goto error_close_coclass_key;
     }
@@ -919,11 +921,11 @@
     for (; res == ERROR_SUCCESS && list->clsid; ++list) {
        StringFromGUID2(list->clsid, buf, 39);
 
-       res = RegDeleteTreeW(coclass_key, buf);
+       res = SHDeleteKeyW(coclass_key, buf);
        if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS;
        if (res != ERROR_SUCCESS) goto error_close_coclass_key;
 
-       res = RegDeleteTreeW(instance_key, buf);
+       res = SHDeleteKeyW(instance_key, buf);
        if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS;
        if (res != ERROR_SUCCESS) goto error_close_coclass_key;
     }
@@ -1094,11 +1096,11 @@
     for (; res == ERROR_SUCCESS && list->clsid; ++list) {
         StringFromGUID2(list->clsid, buf, 39);
 
-        res = RegDeleteTreeW(coclass_key, buf);
+        res = SHDeleteKeyW(coclass_key, buf);
         if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS;
         if (res != ERROR_SUCCESS) goto error_close_coclass_key;
 
-        res = RegDeleteTreeW(instance_key, buf);
+        res = SHDeleteKeyW(instance_key, buf);
         if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS;
         if (res != ERROR_SUCCESS) goto error_close_coclass_key;
     }
@@ -2009,14 +2011,14 @@
     for (; res == ERROR_SUCCESS && list->clsid; list++)
     {
         StringFromGUID2(list->clsid, buf, 39);
-        res = RegDeleteTreeW(instance_key, buf);
+        res = SHDeleteKeyW(instance_key, buf);
     }
 
     RegCloseKey(instance_key);
     RegCloseKey(categories_key);
 
     StringFromGUID2(&CLSID_WICImagingCategories, buf, 39);
-    res = RegDeleteTreeW(coclass_key, buf);
+    res = SHDeleteKeyW(coclass_key, buf);
 
     RegCloseKey(coclass_key);
 


Reply via email to