diff --git a/dlls/shell32/tests/shellpath.c b/dlls/shell32/tests/shellpath.c index 5147b198ce3..3b18760435d 100644 --- a/dlls/shell32/tests/shellpath.c +++ b/dlls/shell32/tests/shellpath.c @@ -888,8 +888,8 @@ if (0) { /* crashes */ /* Standard CSIDL values (and their flags) uses only two less-significant bytes */ #define NO_CSIDL 0x10000 #define WINE_ATTRIBUTES_OPTIONAL 0x20000 -#define KNOWN_FOLDER(id, csidl, name, category, parent, relative_path, parsing_name, attributes, definitionFlags) \ - { &id, # id, csidl, # csidl, name, category, &parent, # parent, relative_path, parsing_name, attributes, definitionFlags, __LINE__ } +#define KNOWN_FOLDER(id, csidl, name, category, parent1, parent2, relative_path, parsing_name, attributes, definitionFlags) \ + { &id, # id, csidl, # csidl, name, category, {&parent1, &parent2}, relative_path, parsing_name, attributes, definitionFlags, __LINE__ } /* non-published known folders test */ static const GUID _FOLDERID_CryptoKeys = {0xB88F4DAA, 0xE7BD, 0x49A9, {0xB7, 0x4D, 0x02, 0x88, 0x5A, 0x5D, 0xC7, 0x65} }; @@ -904,8 +904,7 @@ struct knownFolderDef { const char *sCsidl; const char *sName; const KF_CATEGORY category; - const KNOWNFOLDERID *fidParent; - const char *sParent; + const KNOWNFOLDERID *fidParents[2]; const char *sRelativePath; const char *sParsingName; const DWORD attributes; @@ -927,7 +926,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "AddNewProgramsFolder", KF_CATEGORY_VIRTUAL, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, "::{21EC2020-3AEA-1069-A2DD-08002B30309D}\\::{15eae92e-f17a-4431-9f28-805e482dafd4}\0" "shell:::{26EE0668-A00A-44D7-9371-BEB064C98683}\\0\\::{15eae92e-f17a-4431-9f28-805e482dafd4}\0\0" /* 6.1 */, @@ -937,7 +936,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_ADMINTOOLS, "Administrative Tools", KF_CATEGORY_PERUSER, - FOLDERID_Programs, + FOLDERID_Programs, GUID_NULL, "Administrative Tools", NULL, FILE_ATTRIBUTE_READONLY, @@ -946,7 +945,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "AppUpdatesFolder", KF_CATEGORY_VIRTUAL, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, "::{21EC2020-3AEA-1069-A2DD-08002B30309D}\\::{7b81be6a-ce2b-4676-a29e-eb907a5126c5}\\::{d450a8a1-9568-45c7-9c0e-b4f9fb4537bd}\0" "::{26EE0668-A00A-44D7-9371-BEB064C98683}\\0\\::{7b81be6a-ce2b-4676-a29e-eb907a5126c5}\\::{d450a8a1-9568-45c7-9c0e-b4f9fb4537bd}\0\0" /* 6.1 */, @@ -956,7 +955,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_CDBURN_AREA, "CD Burning", KF_CATEGORY_PERUSER, - FOLDERID_LocalAppData, + FOLDERID_LocalAppData, GUID_NULL, "Microsoft\\Windows\\Burn\\Burn", NULL, FILE_ATTRIBUTE_READONLY, @@ -965,7 +964,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "ChangeRemoveProgramsFolder", KF_CATEGORY_VIRTUAL, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, "::{21EC2020-3AEA-1069-A2DD-08002B30309D}\\::{7b81be6a-ce2b-4676-a29e-eb907a5126c5}\0" "::{26EE0668-A00A-44D7-9371-BEB064C98683}\\0\\::{7b81be6a-ce2b-4676-a29e-eb907a5126c5}\0\0" /* 6.1 */, @@ -975,7 +974,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_COMMON_ADMINTOOLS, "Common Administrative Tools", KF_CATEGORY_COMMON, - FOLDERID_CommonPrograms, + FOLDERID_CommonPrograms, GUID_NULL, "Administrative Tools", NULL, FILE_ATTRIBUTE_READONLY, @@ -983,7 +982,7 @@ static const struct knownFolderDef known_folders[] = { KNOWN_FOLDER(FOLDERID_CommonOEMLinks, CSIDL_COMMON_OEM_LINKS,"OEM Links", KF_CATEGORY_COMMON, - FOLDERID_ProgramData, + FOLDERID_ProgramData, GUID_NULL, "OEM Links", NULL, 0, @@ -992,7 +991,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_COMMON_PROGRAMS, "Common Programs", KF_CATEGORY_COMMON, - FOLDERID_CommonStartMenu, + FOLDERID_CommonStartMenu, GUID_NULL, "Programs", NULL, FILE_ATTRIBUTE_READONLY, @@ -1001,7 +1000,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_COMMON_STARTMENU, "Common Start Menu", KF_CATEGORY_COMMON, - FOLDERID_ProgramData, + FOLDERID_ProgramData, GUID_NULL, "Microsoft\\Windows\\Start Menu\0", NULL, FILE_ATTRIBUTE_READONLY, @@ -1010,7 +1009,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_COMMON_STARTUP, "Common Startup", KF_CATEGORY_COMMON, - FOLDERID_CommonPrograms, + FOLDERID_CommonPrograms, GUID_NULL, "StartUp", NULL, FILE_ATTRIBUTE_READONLY, @@ -1019,7 +1018,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_COMMON_TEMPLATES, "Common Templates", KF_CATEGORY_COMMON, - FOLDERID_ProgramData, + FOLDERID_ProgramData, GUID_NULL, "Microsoft\\Windows\\Templates\0", NULL, 0, @@ -1028,7 +1027,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_DRIVES, "MyComputerFolder", KF_CATEGORY_VIRTUAL, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\0\0", 0, @@ -1037,7 +1036,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "ConflictFolder", KF_CATEGORY_VIRTUAL, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, "::{21EC2020-3AEA-1069-A2DD-08002B30309D}\\::{9C73F5E5-7AE7-4E32-A8E8-8D23B85255BF}\\::{E413D040-6788-4C22-957E-175D1C513A34},\0" "::{26EE0668-A00A-44D7-9371-BEB064C98683}\\0\\::{9C73F5E5-7AE7-4E32-A8E8-8D23B85255BF}\\::{E413D040-6788-4C22-957E-175D1C513A34},\0\0" /* 6.1 */, @@ -1047,7 +1046,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_CONNECTIONS, "ConnectionsFolder", KF_CATEGORY_VIRTUAL, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, "::{21EC2020-3AEA-1069-A2DD-08002B30309D}\\::{7007ACC7-3202-11D1-AAD2-00805FC1270E}\0" "::{26EE0668-A00A-44D7-9371-BEB064C98683}\\0\\::{7007ACC7-3202-11D1-AAD2-00805FC1270E}\0\0" /* 6.1 */, @@ -1057,7 +1056,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "Contacts", KF_CATEGORY_PERUSER, - FOLDERID_Profile, + FOLDERID_Profile, GUID_NULL, "Contacts", "::{59031a47-3f72-44a7-89c5-5595fe6b30ee}\\{56784854-C6CB-462B-8169-88E350ACB882}\0\0", FILE_ATTRIBUTE_READONLY, @@ -1066,7 +1065,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_CONTROLS, "ControlPanelFolder", KF_CATEGORY_VIRTUAL, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, "::{21EC2020-3AEA-1069-A2DD-08002B30309D}\0" "::{26EE0668-A00A-44D7-9371-BEB064C98683}\\0\0\0" /* 6.1 */, @@ -1076,7 +1075,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_COOKIES, "Cookies", KF_CATEGORY_PERUSER, - FOLDERID_RoamingAppData, + FOLDERID_RoamingAppData, FOLDERID_LocalAppData, "Microsoft\\Windows\\Cookies\0Microsoft\\Windows\\INetCookies\0" /* win8 */, NULL, 0, @@ -1085,7 +1084,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_DESKTOP, "Desktop", KF_CATEGORY_PERUSER, - FOLDERID_Profile, + FOLDERID_Profile, GUID_NULL, "Desktop", NULL, FILE_ATTRIBUTE_READONLY, @@ -1094,7 +1093,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "Device Metadata Store", KF_CATEGORY_COMMON, - FOLDERID_ProgramData, + FOLDERID_ProgramData, GUID_NULL, "Microsoft\\Windows\\DeviceMetadataStore\0", NULL, 0, @@ -1103,7 +1102,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_MYDOCUMENTS, "Personal", KF_CATEGORY_PERUSER, - FOLDERID_Profile, + FOLDERID_Profile, GUID_NULL, "Documents\0", "::{59031a47-3f72-44a7-89c5-5595fe6b30ee}\\{FDD39AD0-238F-46AF-ADB4-6C85480369C7}\0shell:::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{A8CDFF1C-4878-43be-B5FD-F8091C1C60D0}\0\0", /* win8 */ FILE_ATTRIBUTE_READONLY, @@ -1112,7 +1111,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "DocumentsLibrary", KF_CATEGORY_PERUSER, - FOLDERID_Libraries, + FOLDERID_Libraries, GUID_NULL, "Documents.library-ms\0", "::{031E4825-7B94-4dc3-B131-E946B44C8DD5}\\{7b0db17d-9cd2-4a93-9733-46cc89022e7c}\0\0", 0, @@ -1121,7 +1120,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "Downloads", KF_CATEGORY_PERUSER, - FOLDERID_Profile, + FOLDERID_Profile, GUID_NULL, "Downloads\0", "(null)\0shell:::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{374DE290-123F-4565-9164-39C4925E467B}\0\0", /* win8 */ FILE_ATTRIBUTE_READONLY, @@ -1130,7 +1129,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_FAVORITES, "Favorites", KF_CATEGORY_PERUSER, - FOLDERID_Profile, + FOLDERID_Profile, GUID_NULL, "Favorites\0", NULL, FILE_ATTRIBUTE_READONLY, @@ -1139,7 +1138,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_FONTS, "Fonts", KF_CATEGORY_FIXED, - FOLDERID_Windows, + FOLDERID_Windows, GUID_NULL, NULL, NULL, 0, @@ -1148,7 +1147,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "Games", KF_CATEGORY_VIRTUAL, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, "::{ED228FDF-9EA8-4870-83b1-96b02CFE0D52}\0\0", 0, @@ -1157,7 +1156,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "GameTasks", KF_CATEGORY_PERUSER, - FOLDERID_LocalAppData, + FOLDERID_LocalAppData, GUID_NULL, "Microsoft\\Windows\\GameExplorer\0", NULL, 0, @@ -1166,7 +1165,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_HISTORY, "History", KF_CATEGORY_PERUSER, - FOLDERID_LocalAppData, + FOLDERID_LocalAppData, GUID_NULL, "Microsoft\\Windows\\History\0", NULL, 0, @@ -1175,7 +1174,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "HomeGroupFolder", KF_CATEGORY_VIRTUAL, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, "::{B4FB3F98-C1EA-428d-A78A-D1F5659CBA93}\0\0", 0, @@ -1184,7 +1183,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "ImplicitAppShortcuts", KF_CATEGORY_PERUSER, - FOLDERID_UserPinned, + FOLDERID_UserPinned, GUID_NULL, "ImplicitAppShortcuts\0", NULL, 0, @@ -1193,7 +1192,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_INTERNET_CACHE, "Cache", KF_CATEGORY_PERUSER, - FOLDERID_LocalAppData, + FOLDERID_LocalAppData, GUID_NULL, "Microsoft\\Windows\\Temporary Internet Files\0Microsoft\\Windows\\INetCache\0\0", /* win8 */ NULL, 0, @@ -1202,7 +1201,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_INTERNET, "InternetFolder", KF_CATEGORY_VIRTUAL, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, "::{871C5380-42A0-1069-A2EA-08002B30309D}\0\0", 0, @@ -1211,7 +1210,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "Libraries", KF_CATEGORY_PERUSER, - FOLDERID_RoamingAppData, + FOLDERID_RoamingAppData, GUID_NULL, "Microsoft\\Windows\\Libraries\0", NULL, 0, @@ -1220,7 +1219,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "Links", KF_CATEGORY_PERUSER, - FOLDERID_Profile, + FOLDERID_Profile, GUID_NULL, "Links\0", "::{59031a47-3f72-44a7-89c5-5595fe6b30ee}\\{bfb9d5e0-c6a9-404c-b2b2-ae6db6af4968}\0\0", FILE_ATTRIBUTE_READONLY, @@ -1229,7 +1228,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_LOCAL_APPDATA, "Local AppData", KF_CATEGORY_PERUSER, - FOLDERID_Profile, + FOLDERID_Profile, GUID_NULL, "AppData\\Local\0", NULL, 0, @@ -1238,7 +1237,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "LocalAppDataLow", KF_CATEGORY_PERUSER, - FOLDERID_Profile, + FOLDERID_Profile, GUID_NULL, "AppData\\LocalLow\0", NULL, FILE_ATTRIBUTE_NOT_CONTENT_INDEXED, @@ -1247,7 +1246,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_RESOURCES_LOCALIZED, "LocalizedResourcesDir", KF_CATEGORY_FIXED, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, NULL, 0, @@ -1256,7 +1255,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_MYMUSIC, "My Music", KF_CATEGORY_PERUSER, - FOLDERID_Profile, + FOLDERID_Profile, GUID_NULL, "Music\0", "::{59031a47-3f72-44a7-89c5-5595fe6b30ee}\\{4BD8D571-6D19-48D3-BE97-422220080E43}\0shell:::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{1CF1260C-4DD0-4EBB-811F-33C572699FDE}\0\0", /* win8 */ FILE_ATTRIBUTE_READONLY, @@ -1265,7 +1264,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "MusicLibrary", KF_CATEGORY_PERUSER, - FOLDERID_Libraries, + FOLDERID_Libraries, GUID_NULL, "Music.library-ms\0", "::{031E4825-7B94-4dc3-B131-E946B44C8DD5}\\{2112AB0A-C86A-4ffe-A368-0DE96E47012E}\0\0", 0, @@ -1274,7 +1273,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_NETHOOD, "NetHood", KF_CATEGORY_PERUSER, - FOLDERID_RoamingAppData, + FOLDERID_RoamingAppData, GUID_NULL, "Microsoft\\Windows\\Network Shortcuts\0", NULL, 0, @@ -1283,7 +1282,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_NETWORK, "NetworkPlacesFolder", KF_CATEGORY_VIRTUAL, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, "::{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}\0\0", 0, @@ -1292,7 +1291,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "Original Images", KF_CATEGORY_PERUSER, - FOLDERID_LocalAppData, + FOLDERID_LocalAppData, GUID_NULL, "Microsoft\\Windows Photo Gallery\\Original Images\0", NULL, 0, @@ -1301,7 +1300,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "PhotoAlbums", KF_CATEGORY_PERUSER, - FOLDERID_Pictures, + FOLDERID_Pictures, GUID_NULL, "Slide Shows\0", NULL, FILE_ATTRIBUTE_READONLY, @@ -1310,7 +1309,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_MYPICTURES, "My Pictures", KF_CATEGORY_PERUSER, - FOLDERID_Profile, + FOLDERID_Profile, GUID_NULL, "Pictures\0", "::{59031a47-3f72-44a7-89c5-5595fe6b30ee}\\{33E28130-4E1E-4676-835A-98395C3BC3BB}\0shell:::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{3ADD1653-EB32-4CB0-BBD7-DFA0ABB5ACCA}\0\0", /* win8 */ FILE_ATTRIBUTE_READONLY, @@ -1319,7 +1318,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "PicturesLibrary", KF_CATEGORY_PERUSER, - FOLDERID_Libraries, + FOLDERID_Libraries, GUID_NULL, "Pictures.library-ms\0", "::{031E4825-7B94-4dc3-B131-E946B44C8DD5}\\{A990AE9F-A03B-4e80-94BC-9912D7504104}\0\0", 0, @@ -1328,7 +1327,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "Playlists", KF_CATEGORY_PERUSER, - FOLDERID_Music, + FOLDERID_Music, GUID_NULL, "Playlists\0", NULL, FILE_ATTRIBUTE_READONLY, @@ -1337,7 +1336,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_PRINTERS, "PrintersFolder", KF_CATEGORY_VIRTUAL, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, "::{21EC2020-3AEA-1069-A2DD-08002B30309D}\\::{2227A280-3AEA-1069-A2DE-08002B30309D}\0\0", 0, @@ -1346,7 +1345,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_PRINTHOOD, "PrintHood", KF_CATEGORY_PERUSER, - FOLDERID_RoamingAppData, + FOLDERID_RoamingAppData, GUID_NULL, "Microsoft\\Windows\\Printer Shortcuts\0", NULL, 0, @@ -1355,7 +1354,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_PROFILE, "Profile", KF_CATEGORY_FIXED, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, NULL, 0, @@ -1364,7 +1363,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_COMMON_APPDATA, "Common AppData", KF_CATEGORY_FIXED, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, NULL, 0, @@ -1373,7 +1372,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_PROGRAM_FILES, "ProgramFiles", KF_CATEGORY_FIXED, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, NULL, FILE_ATTRIBUTE_READONLY, @@ -1383,7 +1382,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_PROGRAM_FILES_COMMON, "ProgramFilesCommon", KF_CATEGORY_FIXED, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, NULL, 0, @@ -1392,7 +1391,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "ProgramFilesCommonX64", KF_CATEGORY_FIXED, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, NULL, 0, @@ -1401,7 +1400,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "ProgramFilesCommonX86", KF_CATEGORY_FIXED, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, NULL, 0, @@ -1410,7 +1409,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "ProgramFilesX64", KF_CATEGORY_FIXED, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, NULL, 0, @@ -1419,7 +1418,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_PROGRAM_FILESX86, "ProgramFilesX86", KF_CATEGORY_FIXED, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, NULL, FILE_ATTRIBUTE_READONLY, @@ -1428,7 +1427,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_PROGRAMS, "Programs", KF_CATEGORY_PERUSER, - FOLDERID_StartMenu, + FOLDERID_StartMenu, GUID_NULL, "Programs\0", NULL, FILE_ATTRIBUTE_READONLY, @@ -1437,7 +1436,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "Public", KF_CATEGORY_FIXED, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, "::{4336a54d-038b-4685-ab02-99bb52d3fb8b}\0" "(null)\0\0" /* 6.1 */, @@ -1447,7 +1446,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_COMMON_DESKTOPDIRECTORY, "Common Desktop", KF_CATEGORY_COMMON, - FOLDERID_Public, + FOLDERID_Public, GUID_NULL, "Desktop\0", NULL, FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_HIDDEN, @@ -1456,7 +1455,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_COMMON_DOCUMENTS, "Common Documents", KF_CATEGORY_COMMON, - FOLDERID_Public, + FOLDERID_Public, GUID_NULL, "Documents\0", NULL, FILE_ATTRIBUTE_READONLY, @@ -1465,7 +1464,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "CommonDownloads", KF_CATEGORY_COMMON, - FOLDERID_Public, + FOLDERID_Public, GUID_NULL, "Downloads\0", NULL, FILE_ATTRIBUTE_READONLY, @@ -1474,7 +1473,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "PublicGameTasks", KF_CATEGORY_COMMON, - FOLDERID_ProgramData, + FOLDERID_ProgramData, GUID_NULL, "Microsoft\\Windows\\GameExplorer\0", NULL, 0, @@ -1483,7 +1482,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "PublicLibraries", KF_CATEGORY_COMMON, - FOLDERID_Public, + FOLDERID_Public, GUID_NULL, "Libraries\0", NULL, FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_HIDDEN, @@ -1492,7 +1491,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_COMMON_MUSIC, "CommonMusic", KF_CATEGORY_COMMON, - FOLDERID_Public, + FOLDERID_Public, GUID_NULL, "Music\0", NULL, FILE_ATTRIBUTE_READONLY, @@ -1501,7 +1500,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_COMMON_PICTURES, "CommonPictures", KF_CATEGORY_COMMON, - FOLDERID_Public, + FOLDERID_Public, GUID_NULL, "Pictures\0", NULL, FILE_ATTRIBUTE_READONLY, @@ -1510,7 +1509,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "CommonRingtones", KF_CATEGORY_COMMON, - FOLDERID_ProgramData, + FOLDERID_ProgramData, GUID_NULL, "Microsoft\\Windows\\Ringtones\0", NULL, 0, @@ -1519,7 +1518,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_COMMON_VIDEO, "CommonVideo", KF_CATEGORY_COMMON, - FOLDERID_Public, + FOLDERID_Public, GUID_NULL, "Videos\0", NULL, FILE_ATTRIBUTE_READONLY, @@ -1528,7 +1527,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "Quick Launch", KF_CATEGORY_PERUSER, - FOLDERID_RoamingAppData, + FOLDERID_RoamingAppData, GUID_NULL, "Microsoft\\Internet Explorer\\Quick Launch\0", NULL, 0, @@ -1537,7 +1536,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_RECENT, "Recent", KF_CATEGORY_PERUSER, - FOLDERID_RoamingAppData, + FOLDERID_RoamingAppData, GUID_NULL, "Microsoft\\Windows\\Recent\0", NULL, FILE_ATTRIBUTE_READONLY, @@ -1546,7 +1545,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "RecordedTVLibrary", KF_CATEGORY_COMMON, - FOLDERID_PublicLibraries, + FOLDERID_PublicLibraries, GUID_NULL, "RecordedTV.library-ms\0", NULL, 0, @@ -1555,7 +1554,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_BITBUCKET, "RecycleBinFolder", KF_CATEGORY_VIRTUAL, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, "::{645FF040-5081-101B-9F08-00AA002F954E}\0\0", 0, @@ -1564,7 +1563,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_RESOURCES, "ResourceDir", KF_CATEGORY_FIXED, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, NULL, 0, @@ -1573,7 +1572,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "Ringtones", KF_CATEGORY_PERUSER, - FOLDERID_LocalAppData, + FOLDERID_LocalAppData, GUID_NULL, "Microsoft\\Windows\\Ringtones\0", NULL, 0, @@ -1582,7 +1581,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_APPDATA, "AppData", KF_CATEGORY_PERUSER, - FOLDERID_Profile, + FOLDERID_Profile, GUID_NULL, "AppData\\Roaming\0", NULL, 0, @@ -1591,7 +1590,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL|WINE_ATTRIBUTES_OPTIONAL /* win8 */, "SampleMusic", KF_CATEGORY_COMMON, - FOLDERID_PublicMusic, + FOLDERID_PublicMusic, GUID_NULL, "Sample Music\0", NULL, FILE_ATTRIBUTE_READONLY, @@ -1600,7 +1599,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL|WINE_ATTRIBUTES_OPTIONAL /* win8 */, "SamplePictures", KF_CATEGORY_COMMON, - FOLDERID_PublicPictures, + FOLDERID_PublicPictures, GUID_NULL, "Sample Pictures\0", NULL, FILE_ATTRIBUTE_READONLY, @@ -1609,7 +1608,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "SamplePlaylists", KF_CATEGORY_COMMON, - FOLDERID_PublicMusic, + FOLDERID_PublicMusic, GUID_NULL, "Sample Playlists\0", NULL, FILE_ATTRIBUTE_READONLY, @@ -1618,7 +1617,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL|WINE_ATTRIBUTES_OPTIONAL /* win8 */, "SampleVideos", KF_CATEGORY_COMMON, - FOLDERID_PublicVideos, + FOLDERID_PublicVideos, GUID_NULL, "Sample Videos\0", NULL, FILE_ATTRIBUTE_READONLY, @@ -1627,7 +1626,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "SavedGames", KF_CATEGORY_PERUSER, - FOLDERID_Profile, + FOLDERID_Profile, GUID_NULL, "Saved Games\0", "::{59031a47-3f72-44a7-89c5-5595fe6b30ee}\\{4C5C32FF-BB9D-43b0-B5B4-2D72E54EAAA4}\0\0", FILE_ATTRIBUTE_READONLY, @@ -1636,7 +1635,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "Searches", KF_CATEGORY_PERUSER, - FOLDERID_Profile, + FOLDERID_Profile, GUID_NULL, "Searches\0", "::{59031a47-3f72-44a7-89c5-5595fe6b30ee}\\{7d1d3a04-debb-4115-95cf-2f29da2920da}\0\0", FILE_ATTRIBUTE_READONLY, @@ -1645,7 +1644,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "CSCFolder", KF_CATEGORY_VIRTUAL, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, "shell:::{BD7A2E7B-21CB-41b2-A086-B309680C6B7E}\\*\0\0", 0, @@ -1654,7 +1653,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "SearchHomeFolder", KF_CATEGORY_VIRTUAL, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, "::{9343812e-1c37-4a49-a12e-4b2d810d956b}\0\0", 0, @@ -1663,7 +1662,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "MAPIFolder", KF_CATEGORY_VIRTUAL, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, "shell:::{89D83576-6BD1-4C86-9454-BEB04E94C819}\\*\0\0", 0, @@ -1672,7 +1671,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_SENDTO, "SendTo", KF_CATEGORY_PERUSER, - FOLDERID_RoamingAppData, + FOLDERID_RoamingAppData, GUID_NULL, "Microsoft\\Windows\\SendTo\0", NULL, 0, @@ -1681,7 +1680,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "Default Gadgets", KF_CATEGORY_COMMON, - FOLDERID_ProgramFiles, + FOLDERID_ProgramFiles, GUID_NULL, "Windows Sidebar\\Gadgets\0", NULL, 0, @@ -1690,7 +1689,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "Gadgets", KF_CATEGORY_PERUSER, - FOLDERID_LocalAppData, + FOLDERID_LocalAppData, GUID_NULL, "Microsoft\\Windows Sidebar\\Gadgets\0", NULL, 0, @@ -1699,7 +1698,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_STARTMENU, "Start Menu", KF_CATEGORY_PERUSER, - FOLDERID_RoamingAppData, + FOLDERID_RoamingAppData, GUID_NULL, "Microsoft\\Windows\\Start Menu\0", NULL, FILE_ATTRIBUTE_READONLY, @@ -1708,7 +1707,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_STARTUP, "Startup", KF_CATEGORY_PERUSER, - FOLDERID_Programs, + FOLDERID_Programs, GUID_NULL, "StartUp\0", NULL, FILE_ATTRIBUTE_READONLY, @@ -1717,7 +1716,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "SyncCenterFolder", KF_CATEGORY_VIRTUAL, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, "::{21EC2020-3AEA-1069-A2DD-08002B30309D}\\::{9C73F5E5-7AE7-4E32-A8E8-8D23B85255BF}\0" "::{26EE0668-A00A-44D7-9371-BEB064C98683}\\0\\::{9C73F5E5-7AE7-4E32-A8E8-8D23B85255BF}\0\0" /* 6.1 */, @@ -1727,7 +1726,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "SyncResultsFolder", KF_CATEGORY_VIRTUAL, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, "::{21EC2020-3AEA-1069-A2DD-08002B30309D}\\::{9C73F5E5-7AE7-4E32-A8E8-8D23B85255BF}\\::{BC48B32F-5910-47F5-8570-5074A8A5636A},\0" "::{26EE0668-A00A-44D7-9371-BEB064C98683}\\0\\::{9C73F5E5-7AE7-4E32-A8E8-8D23B85255BF}\\::{BC48B32F-5910-47F5-8570-5074A8A5636A},\0\0", @@ -1737,7 +1736,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "SyncSetupFolder", KF_CATEGORY_VIRTUAL, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, "::{21EC2020-3AEA-1069-A2DD-08002B30309D}\\::{9C73F5E5-7AE7-4E32-A8E8-8D23B85255BF}\\::{F1390A9A-A3F4-4E5D-9C5F-98F3BD8D935C},\0" "::{26EE0668-A00A-44D7-9371-BEB064C98683}\\0\\::{9C73F5E5-7AE7-4E32-A8E8-8D23B85255BF}\\::{F1390A9A-A3F4-4E5D-9C5F-98F3BD8D935C},\0\0" /* 6.1 */, @@ -1747,7 +1746,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_SYSTEM, "System", KF_CATEGORY_FIXED, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, NULL, 0, @@ -1756,7 +1755,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_SYSTEMX86, "SystemX86", KF_CATEGORY_FIXED, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, NULL, 0, @@ -1765,7 +1764,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_TEMPLATES, "Templates", KF_CATEGORY_PERUSER, - FOLDERID_RoamingAppData, + FOLDERID_RoamingAppData, GUID_NULL, "Microsoft\\Windows\\Templates\0", NULL, 0, @@ -1774,7 +1773,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "User Pinned", KF_CATEGORY_PERUSER, - FOLDERID_QuickLaunch, + FOLDERID_QuickLaunch, GUID_NULL, "User Pinned\0", NULL, FILE_ATTRIBUTE_HIDDEN, @@ -1783,7 +1782,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "UserProfiles", KF_CATEGORY_FIXED, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, NULL, FILE_ATTRIBUTE_READONLY, @@ -1792,7 +1791,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "UserProgramFiles", KF_CATEGORY_PERUSER, - FOLDERID_LocalAppData, + FOLDERID_LocalAppData, GUID_NULL, "Programs\0", NULL, 0, @@ -1801,7 +1800,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "UserProgramFilesCommon", KF_CATEGORY_PERUSER, - FOLDERID_UserProgramFiles, + FOLDERID_UserProgramFiles, GUID_NULL, "Common\0", NULL, 0, @@ -1810,7 +1809,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "UsersFilesFolder", KF_CATEGORY_VIRTUAL, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, "::{59031a47-3f72-44a7-89c5-5595fe6b30ee}\0\0", 0, @@ -1819,7 +1818,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "UsersLibrariesFolder", KF_CATEGORY_VIRTUAL, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, "::{031E4825-7B94-4dc3-B131-E946B44C8DD5}\0\0", 0, @@ -1828,7 +1827,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_MYVIDEO, "My Video", KF_CATEGORY_PERUSER, - FOLDERID_Profile, + FOLDERID_Profile, GUID_NULL, "Videos\0", "::{59031a47-3f72-44a7-89c5-5595fe6b30ee}\\{18989B1D-99B5-455B-841C-AB7C74E4DDFC}\0shell:::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\::{A0953C92-50DC-43BF-BE83-3742FED03C9C}\0\0", /* win8 */ FILE_ATTRIBUTE_READONLY, @@ -1837,7 +1836,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "VideosLibrary", KF_CATEGORY_PERUSER, - FOLDERID_Libraries, + FOLDERID_Libraries, GUID_NULL, "Videos.library-ms\0", "::{031E4825-7B94-4dc3-B131-E946B44C8DD5}\\{491E922F-5643-4af4-A7EB-4E7A138D8174}\0\0", 0, @@ -1846,7 +1845,7 @@ static const struct knownFolderDef known_folders[] = { CSIDL_WINDOWS, "Windows", KF_CATEGORY_FIXED, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, NULL, 0, @@ -1855,7 +1854,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "CredentialManager", KF_CATEGORY_FIXED, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, NULL, 0, @@ -1864,7 +1863,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "CryptoKeys", KF_CATEGORY_FIXED, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, NULL, 0, @@ -1873,7 +1872,7 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "DpapiKeys", KF_CATEGORY_FIXED, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, NULL, 0, @@ -1882,12 +1881,12 @@ static const struct knownFolderDef known_folders[] = { NO_CSIDL, "SystemCertificates", KF_CATEGORY_FIXED, - GUID_NULL, + GUID_NULL, GUID_NULL, NULL, NULL, 0, 0), - { NULL, NULL, 0, NULL, NULL, 0, 0 } + { 0 } }; #undef KNOWN_FOLDER BOOL known_folder_found[sizeof(known_folders)/sizeof(known_folders[0])-1]; @@ -1968,9 +1967,10 @@ static void check_known_folder(IKnownFolderManager *mgr, KNOWNFOLDERID *folderId ok_(__FILE__, known_folder->line)(kfd.category == known_folder->category, "invalid known folder category for %s: %d expected, but %d retrieved\n", known_folder->sFolderId, known_folder->category, kfd.category); - ok_(__FILE__, known_folder->line)(IsEqualGUID(known_folder->fidParent, &kfd.fidParent), - "invalid known folder parent for %s: %s expected, but %s retrieved\n", - known_folder->sFolderId, known_folder->sParent, wine_dbgstr_guid(&kfd.fidParent)); + ok_(__FILE__, known_folder->line)(IsEqualGUID(known_folder->fidParents[0], &kfd.fidParent) || + IsEqualGUID(known_folder->fidParents[1], &kfd.fidParent), + "invalid known folder parent for %s: %s retrieved\n", + known_folder->sFolderId, wine_dbgstr_guid(&kfd.fidParent)); ok_(__FILE__, known_folder->line)(is_in_strarray(kfd.pszRelativePath, known_folder->sRelativePath), "invalid known folder relative path returned for %s: %s expected, but %s retrieved\n", known_folder->sFolderId, known_folder->sRelativePath, wine_dbgstr_w(kfd.pszRelativePath));