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/re…
==============================================================================
--- 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);