Commit 43e90c8f authored by Alexandre Julliard's avatar Alexandre Julliard

shell32: Add support for the CSIDL_SYSTEMX86 folder.

parent 03d6da08
...@@ -812,6 +812,7 @@ typedef enum _CSIDL_Type { ...@@ -812,6 +812,7 @@ typedef enum _CSIDL_Type {
CSIDL_Type_NonExistent, CSIDL_Type_NonExistent,
CSIDL_Type_WindowsPath, CSIDL_Type_WindowsPath,
CSIDL_Type_SystemPath, CSIDL_Type_SystemPath,
CSIDL_Type_SystemX86Path,
} CSIDL_Type; } CSIDL_Type;
typedef struct typedef struct
...@@ -1029,7 +1030,7 @@ static const CSIDL_DATA CSIDL_Data[] = ...@@ -1029,7 +1030,7 @@ static const CSIDL_DATA CSIDL_Data[] =
NULL NULL
}, },
{ /* 0x29 - CSIDL_SYSTEMX86 */ { /* 0x29 - CSIDL_SYSTEMX86 */
CSIDL_Type_NonExistent, CSIDL_Type_SystemX86Path,
NULL, NULL,
NULL NULL
}, },
...@@ -1782,6 +1783,17 @@ HRESULT WINAPI SHGetFolderPathAndSubDirW( ...@@ -1782,6 +1783,17 @@ HRESULT WINAPI SHGetFolderPathAndSubDirW(
} }
hr = S_OK; hr = S_OK;
break; break;
case CSIDL_Type_SystemX86Path:
if (!GetSystemWow64DirectoryW(szTemp, MAX_PATH)) GetSystemDirectoryW(szTemp, MAX_PATH);
if (CSIDL_Data[folder].szDefaultPath &&
!IS_INTRESOURCE(CSIDL_Data[folder].szDefaultPath) &&
*CSIDL_Data[folder].szDefaultPath)
{
PathAddBackslashW(szTemp);
strcatW(szTemp, CSIDL_Data[folder].szDefaultPath);
}
hr = S_OK;
break;
case CSIDL_Type_CurrVer: case CSIDL_Type_CurrVer:
hr = _SHGetCurrentVersionPath(dwFlags, folder, szTemp); hr = _SHGetCurrentVersionPath(dwFlags, folder, szTemp);
break; break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment