Module: wine Branch: master Commit: 98505b40763bac5f42575cc21b47c07370798726 URL: http://source.winehq.org/git/wine.git/?a=commit;h=98505b40763bac5f42575cc21b...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Wed Dec 23 00:36:12 2015 +0300
ole32: Simplify OleRegGetUserType() using existing helper.
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
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; }