[PATCH 2/2] ole32: Simplify OleRegGetUserType() using existing helper
Nikolay Sivov
nsivov at codeweavers.com
Tue Dec 22 15:36:12 CST 2015
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
dlls/ole32/ole2.c | 42 ++++++++++--------------------------------
1 file changed, 10 insertions(+), 32 deletions(-)
diff --git a/dlls/ole32/ole2.c b/dlls/ole32/ole2.c
index f28b9d0..41fe4bd 100644
--- a/dlls/ole32/ole2.c
+++ b/dlls/ole32/ole2.c
@@ -677,47 +677,26 @@ HRESULT WINAPI OleRegGetUserType(
DWORD dwFormOfType,
LPOLESTR* pszUserType)
{
- WCHAR keyName[60];
DWORD dwKeyType;
DWORD cbData;
HKEY clsidKey;
- LONG hres;
-
- /*
- * Initialize the out parameter.
- */
- *pszUserType = NULL;
+ HRESULT hres;
+ LONG ret;
- /*
- * Build the key name we're looking for
- */
- sprintfW( keyName, clsidfmtW,
- clsid->Data1, clsid->Data2, clsid->Data3,
- clsid->Data4[0], clsid->Data4[1], clsid->Data4[2], clsid->Data4[3],
- clsid->Data4[4], clsid->Data4[5], clsid->Data4[6], clsid->Data4[7] );
+ TRACE("(%s, %d, %p)\n", debugstr_guid(clsid), dwFormOfType, pszUserType);
- TRACE("(%s, %d, %p)\n", debugstr_w(keyName), dwFormOfType, pszUserType);
+ *pszUserType = NULL;
- /*
- * Open the class id Key
- */
- hres = open_classes_key(HKEY_CLASSES_ROOT, keyName, MAXIMUM_ALLOWED, &clsidKey);
- if (hres != ERROR_SUCCESS)
- return REGDB_E_CLASSNOTREG;
+ hres = COM_OpenKeyForCLSID(clsid, NULL, KEY_READ, &clsidKey);
+ if (FAILED(hres))
+ return hres;
/*
* Retrieve the size of the name string.
*/
cbData = 0;
- hres = RegQueryValueExW(clsidKey,
- emptyW,
- NULL,
- &dwKeyType,
- NULL,
- &cbData);
-
- if (hres!=ERROR_SUCCESS)
+ if (RegQueryValueExW(clsidKey, emptyW, NULL, &dwKeyType, NULL, &cbData))
{
RegCloseKey(clsidKey);
return REGDB_E_READREGDB;
@@ -734,7 +713,7 @@ HRESULT WINAPI OleRegGetUserType(
return E_OUTOFMEMORY;
}
- hres = RegQueryValueExW(clsidKey,
+ ret = RegQueryValueExW(clsidKey,
emptyW,
NULL,
&dwKeyType,
@@ -743,11 +722,10 @@ HRESULT WINAPI OleRegGetUserType(
RegCloseKey(clsidKey);
- if (hres != ERROR_SUCCESS)
+ if (ret != ERROR_SUCCESS)
{
CoTaskMemFree(*pszUserType);
*pszUserType = NULL;
-
return REGDB_E_READREGDB;
}
--
2.6.4
More information about the wine-patches
mailing list