shell32: Add support for the CSIDL_SYSTEMX86 folder.

This commit is contained in:
Alexandre Julliard 2009-07-07 11:47:58 +02:00
parent 03d6da0894
commit 43e90c8ff7

View File

@ -812,6 +812,7 @@ typedef enum _CSIDL_Type {
CSIDL_Type_NonExistent,
CSIDL_Type_WindowsPath,
CSIDL_Type_SystemPath,
CSIDL_Type_SystemX86Path,
} CSIDL_Type;
typedef struct
@ -1029,7 +1030,7 @@ static const CSIDL_DATA CSIDL_Data[] =
NULL
},
{ /* 0x29 - CSIDL_SYSTEMX86 */
CSIDL_Type_NonExistent,
CSIDL_Type_SystemX86Path,
NULL,
NULL
},
@ -1782,6 +1783,17 @@ HRESULT WINAPI SHGetFolderPathAndSubDirW(
}
hr = S_OK;
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:
hr = _SHGetCurrentVersionPath(dwFlags, folder, szTemp);
break;