Andrew Eikum : shell32: Also return ParentFolder ID in GetFolderDefinition.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Mar 3 09:42:10 CST 2015


Module: wine
Branch: master
Commit: 32a6ee38874e11805b0d5fcfe167ba9931d3696c
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=32a6ee38874e11805b0d5fcfe167ba9931d3696c

Author: Andrew Eikum <aeikum at codeweavers.com>
Date:   Mon Mar  2 09:28:36 2015 -0600

shell32: Also return ParentFolder ID in GetFolderDefinition.

---

 dlls/shell32/shellpath.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/dlls/shell32/shellpath.c b/dlls/shell32/shellpath.c
index d33091d..8724158 100644
--- a/dlls/shell32/shellpath.c
+++ b/dlls/shell32/shellpath.c
@@ -3683,12 +3683,15 @@ static HRESULT WINAPI knownfolder_GetFolderDefinition(
 {
     struct knownfolder *knownfolder = impl_from_IKnownFolder( iface );
     HRESULT hr;
+    DWORD dwSize;
+    WCHAR parentGuid[39];
     TRACE("(%p, %p)\n", knownfolder, pKFD);
 
     if(!pKFD) return E_INVALIDARG;
 
     ZeroMemory(pKFD, sizeof(*pKFD));
 
+    /* required fields */
     hr = get_known_folder_dword(knownfolder->registryPath, szCategory, &pKFD->category);
     if(FAILED(hr))
         return hr;
@@ -3697,6 +3700,15 @@ static HRESULT WINAPI knownfolder_GetFolderDefinition(
     if(FAILED(hr))
         return hr;
 
+    /* optional fields */
+    dwSize = sizeof(parentGuid);
+    hr = HRESULT_FROM_WIN32(RegGetValueW(HKEY_LOCAL_MACHINE, knownfolder->registryPath, szParentFolder,
+                RRF_RT_REG_SZ, NULL, parentGuid, &dwSize));
+    if(SUCCEEDED(hr))
+        IIDFromString(parentGuid, &pKFD->fidParent);
+
+    get_known_folder_dword(knownfolder->registryPath, szAttributes, &pKFD->dwAttributes);
+
     return S_OK;
 }
 




More information about the wine-cvs mailing list