Author: winesync
Date: Thu Nov 29 13:11:45 2007
New Revision: 30860
URL:
http://svn.reactos.org/svn/reactos?rev=30860&view=rev
Log:
Autosyncing with Wine HEAD
Modified:
trunk/reactos/dll/win32/comcat/comcat.rbuild
trunk/reactos/dll/win32/comcat/information.c
trunk/reactos/dll/win32/comcat/regsvr.c
Modified: trunk/reactos/dll/win32/comcat/comcat.rbuild
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comcat/comcat.rb…
==============================================================================
--- trunk/reactos/dll/win32/comcat/comcat.rbuild (original)
+++ trunk/reactos/dll/win32/comcat/comcat.rbuild Thu Nov 29 13:11:45 2007
@@ -1,14 +1,13 @@
+<?xml version="1.0"?>
+<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
<module name="comcat" type="win32dll"
baseaddress="${BASEADDRESS_COMCAT}" installbase="system32"
entrypoint="0" installname="comcat.dll"
allowwarnings="true">
<autoregister infsection="OleControlDlls"
type="DllRegisterServer" />
<importlibrary definition="comcat.spec.def" />
<include base="comcat">.</include>
<include base="ReactOS">include/reactos/wine</include>
- <define name="__REACTOS__" />
<define name="__WINESRC__" />
- <define name="__USE_W32API" />
- <define name="_WIN32_IE">0x600</define>
- <define name="_WIN32_WINNT">0x501</define>
- <define name="WINVER">0x501</define>
+ <define name="WINVER">0x600</define>
+ <define name="_WIN32_WINNT">0x600</define>
<library>wine</library>
<library>ole32</library>
<library>user32</library>
Modified: trunk/reactos/dll/win32/comcat/information.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comcat/informati…
==============================================================================
--- trunk/reactos/dll/win32/comcat/information.c (original)
+++ trunk/reactos/dll/win32/comcat/information.c Thu Nov 29 13:11:45 2007
@@ -163,11 +163,11 @@
TRACE("\n");
- if (cImplemented == (ULONG)-1)
+ if (cImplemented == (ULONG)-1)
cImplemented = 0;
- if (cRequired == (ULONG)-1)
+ if (cRequired == (ULONG)-1)
cRequired = 0;
-
+
if (iface == NULL || ppenumCLSID == NULL ||
(cImplemented && rgcatidImpl == NULL) ||
(cRequired && rgcatidReq == NULL)) return E_POINTER;
Modified: trunk/reactos/dll/win32/comcat/regsvr.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comcat/regsvr.c?…
==============================================================================
--- trunk/reactos/dll/win32/comcat/regsvr.c (original)
+++ trunk/reactos/dll/win32/comcat/regsvr.c Thu Nov 29 13:11:45 2007
@@ -101,8 +101,6 @@
WCHAR const *value);
static LONG register_key_defvalueA(HKEY base, WCHAR const *name,
char const *value);
-static LONG recursive_delete_key(HKEY key);
-
/***********************************************************************
* register_interfaces
@@ -189,22 +187,12 @@
for (; res == ERROR_SUCCESS && list->iid; ++list) {
WCHAR buf[39];
- HKEY iid_key;
StringFromGUID2(list->iid, buf, 39);
- res = RegOpenKeyExW(interface_key, buf, 0,
- KEY_READ | KEY_WRITE, &iid_key);
- if (res == ERROR_FILE_NOT_FOUND) {
- res = ERROR_SUCCESS;
- continue;
- }
- if (res != ERROR_SUCCESS) goto error_close_interface_key;
- res = recursive_delete_key(iid_key);
- RegCloseKey(iid_key);
- if (res != ERROR_SUCCESS) goto error_close_interface_key;
+ res = RegDeleteTreeW(interface_key, buf);
+ if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS;
}
-error_close_interface_key:
RegCloseKey(interface_key);
error_return:
return res != ERROR_SUCCESS ? HRESULT_FROM_WIN32(res) : S_OK;
@@ -287,23 +275,12 @@
for (; res == ERROR_SUCCESS && list->clsid; ++list) {
WCHAR buf[39];
- HKEY clsid_key;
StringFromGUID2(list->clsid, buf, 39);
- res = RegOpenKeyExW(coclass_key, buf, 0,
- KEY_READ | KEY_WRITE, &clsid_key);
- if (res == ERROR_FILE_NOT_FOUND) {
- res = ERROR_SUCCESS;
- continue;
- }
- if (res != ERROR_SUCCESS) goto error_close_coclass_key;
- res = recursive_delete_key(clsid_key);
- RegCloseKey(clsid_key);
- if (res != ERROR_SUCCESS) goto error_close_coclass_key;
+ res = RegDeleteTreeW(coclass_key, buf);
+ if (res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS;
}
-error_close_coclass_key:
- RegCloseKey(coclass_key);
error_return:
return res != ERROR_SUCCESS ? HRESULT_FROM_WIN32(res) : S_OK;
}
@@ -360,38 +337,6 @@
}
/***********************************************************************
- * recursive_delete_key
- */
-static LONG recursive_delete_key(HKEY key)
-{
- LONG res;
- WCHAR subkey_name[MAX_PATH];
- DWORD cName;
- HKEY subkey;
-
- for (;;) {
- cName = sizeof(subkey_name) / sizeof(WCHAR);
- res = RegEnumKeyExW(key, 0, subkey_name, &cName,
- NULL, NULL, NULL, NULL);
- if (res != ERROR_SUCCESS && res != ERROR_MORE_DATA) {
- res = ERROR_SUCCESS; /* presumably we're done enumerating */
- break;
- }
- res = RegOpenKeyExW(key, subkey_name, 0,
- KEY_READ | KEY_WRITE, &subkey);
- if (res == ERROR_FILE_NOT_FOUND) continue;
- if (res != ERROR_SUCCESS) break;
-
- res = recursive_delete_key(subkey);
- RegCloseKey(subkey);
- if (res != ERROR_SUCCESS) break;
- }
-
- if (res == ERROR_SUCCESS) res = RegDeleteKeyW(key, 0);
- return res;
-}
-
-/***********************************************************************
* coclass list
*/
static struct regsvr_coclass const coclass_list[] = {