mirror of
https://github.com/reactos/wine.git
synced 2025-02-27 16:26:08 +00:00
shell32: Install knownfolders to registry during DLL registration.
This commit is contained in:
parent
efbea96142
commit
12d057c8e7
@ -812,6 +812,7 @@ static const WCHAR Local_Settings_Temporary_Internet_FilesW[] = {'L','o','c','a'
|
||||
static const WCHAR Microsoft_Windows_GameExplorerW[] = {'M','i','c','r','o','s','o','f','t','\\','W','i','n','d','o','w','s','\\','G','a','m','e','E','x','p','l','o','r','e','r','\0'};
|
||||
static const WCHAR Microsoft_Windows_LibrariesW[] = {'M','i','c','r','o','s','o','f','t','\\','W','i','n','d','o','w','s','\\','L','i','b','r','a','r','i','e','s','\0'};
|
||||
static const WCHAR Microsoft_Windows_RingtonesW[] = {'M','i','c','r','o','s','o','f','t','\\','W','i','n','d','o','w','s','\\','R','i','n','g','t','o','n','e','s','\0'};
|
||||
static const WCHAR Microsoft_Windows_Start_MenuW[] = {'M','i','c','r','o','s','o','f','t','\\','W','i','n','d','o','w','s','\\','S','t','a','r','t',' ','M','e','n','u',0};
|
||||
static const WCHAR MusicW[] = {'M','u','s','i','c','\0'};
|
||||
static const WCHAR Music_PlaylistsW[] = {'M','u','s','i','c','\\','P','l','a','y','l','i','s','t','s','\0'};
|
||||
static const WCHAR Music_Sample_MusicW[] = {'M','u','s','i','c','\\','S','a','m','p','l','e',' ','M','u','s','i','c','\0'};
|
||||
@ -827,9 +828,11 @@ static const WCHAR Pictures_Sample_PicturesW[] = {'P','i','c','t','u','r','e','s
|
||||
static const WCHAR Pictures_Slide_ShowsW[] = {'P','i','c','t','u','r','e','s','\\','S','l','i','d','e',' ','S','h','o','w','s','\0'};
|
||||
static const WCHAR PrintHoodW[] = {'P','r','i','n','t','H','o','o','d','\0'};
|
||||
static const WCHAR Program_FilesW[] = {'P','r','o','g','r','a','m',' ','F','i','l','e','s','\0'};
|
||||
static const WCHAR ProgramFilesW[] = {'P','r','o','g','r','a','m','F','i','l','e','s','\0'};
|
||||
static const WCHAR Program_Files_Common_FilesW[] = {'P','r','o','g','r','a','m',' ','F','i','l','e','s','\\','C','o','m','m','o','n',' ','F','i','l','e','s','\0'};
|
||||
static const WCHAR Program_Files_x86W[] = {'P','r','o','g','r','a','m',' ','F','i','l','e','s',' ','(','x','8','6',')','\0'};
|
||||
static const WCHAR Program_Files_x86_Common_FilesW[] = {'P','r','o','g','r','a','m',' ','F','i','l','e','s',' ','(','x','8','6',')','\\','C','o','m','m','o','n',' ','F','i','l','e','s','\0'};
|
||||
static const WCHAR ProgramFilesCommonW[] = {'P','r','o','g','r','a','m','F','i','l','e','s','C','o','m','m','o','n',0};
|
||||
static const WCHAR ProgramFilesDirW[] = {'P','r','o','g','r','a','m','F','i','l','e','s','D','i','r','\0'};
|
||||
static const WCHAR ProgramFilesDirX86W[] = {'P','r','o','g','r','a','m','F','i','l','e','s','D','i','r',' ','(','x','8','6',')','\0'};
|
||||
static const WCHAR ProgramsW[] = {'P','r','o','g','r','a','m','s','\0'};
|
||||
@ -843,11 +846,13 @@ static const WCHAR Start_MenuW[] = {'S','t','a','r','t',' ','M','e','n','u','\0'
|
||||
static const WCHAR Start_Menu_ProgramsW[] = {'S','t','a','r','t',' ','M','e','n','u','\\','P','r','o','g','r','a','m','s','\0'};
|
||||
static const WCHAR Start_Menu_Admin_ToolsW[] = {'S','t','a','r','t',' ','M','e','n','u','\\','P','r','o','g','r','a','m','s','\\','A','d','m','i','n','i','s','t','r','a','t','i','v','e',' ','T','o','o','l','s','\0'};
|
||||
static const WCHAR Start_Menu_StartupW[] = {'S','t','a','r','t',' ','M','e','n','u','\\','P','r','o','g','r','a','m','s','\\','S','t','a','r','t','U','p','\0'};
|
||||
static const WCHAR SystemW[] = {'S','y','s','t','e','m',0};
|
||||
static const WCHAR TemplatesW[] = {'T','e','m','p','l','a','t','e','s','\0'};
|
||||
static const WCHAR UsersW[] = {'U','s','e','r','s','\0'};
|
||||
static const WCHAR UsersPublicW[] = {'U','s','e','r','s','\\','P','u','b','l','i','c','\0'};
|
||||
static const WCHAR VideosW[] = {'V','i','d','e','o','s','\0'};
|
||||
static const WCHAR Videos_Sample_VideosW[] = {'V','i','d','e','o','s','\\','S','a','m','p','l','e',' ','V','i','d','e','o','s','\0'};
|
||||
static const WCHAR WindowsW[] = {'W','i','n','d','o','w','s',0};
|
||||
static const WCHAR DefaultW[] = {'.','D','e','f','a','u','l','t','\0'};
|
||||
static const WCHAR AllUsersProfileW[] = {'%','A','L','L','U','S','E','R','S','P','R','O','F','I','L','E','%','\0'};
|
||||
static const WCHAR UserProfileW[] = {'%','U','S','E','R','P','R','O','F','I','L','E','%','\0'};
|
||||
@ -886,6 +891,21 @@ typedef struct
|
||||
CSIDL_Type type;
|
||||
LPCWSTR szValueName;
|
||||
LPCWSTR szDefaultPath; /* fallback string or resource ID */
|
||||
|
||||
/* KNOWNFOLDER_DEFINITION fields */
|
||||
KF_CATEGORY category;
|
||||
const WCHAR *pszName;
|
||||
const WCHAR *pszDescription;
|
||||
const KNOWNFOLDERID *fidParent;
|
||||
const WCHAR *pszRelativePath;
|
||||
const WCHAR *pszParsingName;
|
||||
const WCHAR *pszTooltip;
|
||||
const WCHAR *pszLocalizedName;
|
||||
const WCHAR *pszIcon;
|
||||
const WCHAR *pszSecurity;
|
||||
DWORD dwAttributes;
|
||||
KF_DEFINITION_FLAGS kfdFlags;
|
||||
const FOLDERTYPEID *ftidType;
|
||||
} CSIDL_DATA;
|
||||
|
||||
static const CSIDL_DATA CSIDL_Data[] =
|
||||
@ -894,7 +914,21 @@ static const CSIDL_DATA CSIDL_Data[] =
|
||||
&FOLDERID_Desktop,
|
||||
CSIDL_Type_User,
|
||||
DesktopW,
|
||||
MAKEINTRESOURCEW(IDS_DESKTOPDIRECTORY)
|
||||
MAKEINTRESOURCEW(IDS_DESKTOPDIRECTORY),
|
||||
|
||||
KF_CATEGORY_PERUSER, /* category */
|
||||
DesktopW, /* name */
|
||||
NULL, /* description */
|
||||
&GUID_NULL, /* parent */
|
||||
DesktopW, /* relative path */
|
||||
NULL, /* parsing */
|
||||
NULL, /* tooltip */
|
||||
NULL, /* localized */
|
||||
NULL, /* icon */
|
||||
NULL, /* security */
|
||||
FILE_ATTRIBUTE_READONLY, /* attributes */
|
||||
0, /* flags */
|
||||
&GUID_NULL /* typeid */
|
||||
},
|
||||
{ /* 0x01 - CSIDL_INTERNET */
|
||||
&FOLDERID_InternetFolder,
|
||||
@ -1014,7 +1048,21 @@ static const CSIDL_DATA CSIDL_Data[] =
|
||||
&FOLDERID_Fonts,
|
||||
CSIDL_Type_WindowsPath,
|
||||
FontsW,
|
||||
FontsW
|
||||
FontsW,
|
||||
|
||||
KF_CATEGORY_FIXED, /* category */
|
||||
FontsW, /* name */
|
||||
NULL, /* description */
|
||||
&GUID_NULL, /* parent */
|
||||
NULL, /* relative path */
|
||||
NULL, /* parsing */
|
||||
NULL, /* tooltip */
|
||||
NULL, /* localized */
|
||||
NULL, /* icon */
|
||||
NULL, /* security */
|
||||
0, /* attributes */
|
||||
0, /* flags */
|
||||
&FOLDERID_Windows/* typeid */
|
||||
},
|
||||
{ /* 0x15 - CSIDL_TEMPLATES */
|
||||
&FOLDERID_Templates,
|
||||
@ -1026,13 +1074,41 @@ static const CSIDL_DATA CSIDL_Data[] =
|
||||
&FOLDERID_CommonStartMenu,
|
||||
CSIDL_Type_AllUsers,
|
||||
Common_Start_MenuW,
|
||||
Start_MenuW
|
||||
Start_MenuW,
|
||||
|
||||
KF_CATEGORY_COMMON, /* category */
|
||||
Common_Start_MenuW, /* name */
|
||||
NULL, /* description */
|
||||
&FOLDERID_ProgramData, /* parent */
|
||||
Microsoft_Windows_Start_MenuW, /* relative path */
|
||||
NULL, /* parsing */
|
||||
NULL, /* tooltip */
|
||||
NULL, /* localized */
|
||||
NULL, /* icon */
|
||||
NULL, /* security */
|
||||
FILE_ATTRIBUTE_READONLY, /* attributes */
|
||||
0, /* flags */
|
||||
&GUID_NULL /* typeid */
|
||||
},
|
||||
{ /* 0x17 - CSIDL_COMMON_PROGRAMS */
|
||||
&FOLDERID_CommonPrograms,
|
||||
CSIDL_Type_AllUsers,
|
||||
Common_ProgramsW,
|
||||
Start_Menu_ProgramsW
|
||||
Start_Menu_ProgramsW,
|
||||
|
||||
KF_CATEGORY_COMMON, /* category */
|
||||
Common_ProgramsW, /* name */
|
||||
NULL, /* description */
|
||||
&FOLDERID_CommonStartMenu, /* parent */
|
||||
ProgramsW, /* relative path */
|
||||
NULL, /* parsing */
|
||||
NULL, /* tooltip */
|
||||
NULL, /* localized */
|
||||
NULL, /* icon */
|
||||
NULL, /* security */
|
||||
FILE_ATTRIBUTE_READONLY, /* attributes */
|
||||
0, /* flags */
|
||||
&GUID_NULL /* typeid */
|
||||
},
|
||||
{ /* 0x18 - CSIDL_COMMON_STARTUP */
|
||||
&FOLDERID_CommonStartup,
|
||||
@ -1104,25 +1180,81 @@ static const CSIDL_DATA CSIDL_Data[] =
|
||||
&FOLDERID_ProgramData,
|
||||
CSIDL_Type_AllUsers,
|
||||
Common_AppDataW,
|
||||
Application_DataW
|
||||
Application_DataW,
|
||||
|
||||
KF_CATEGORY_FIXED, /* category */
|
||||
Common_AppDataW, /* name */
|
||||
NULL, /* description */
|
||||
&GUID_NULL, /* parent */
|
||||
NULL, /* relative path */
|
||||
NULL, /* parsing */
|
||||
NULL, /* tooltip */
|
||||
NULL, /* localized */
|
||||
NULL, /* icon */
|
||||
NULL, /* security */
|
||||
0, /* attributes */
|
||||
0, /* flags */
|
||||
&GUID_NULL /* typeid */
|
||||
},
|
||||
{ /* 0x24 - CSIDL_WINDOWS */
|
||||
&FOLDERID_Windows,
|
||||
CSIDL_Type_WindowsPath,
|
||||
NULL,
|
||||
NULL
|
||||
NULL,
|
||||
|
||||
KF_CATEGORY_FIXED, /* category */
|
||||
WindowsW, /* name */
|
||||
NULL, /* description */
|
||||
&GUID_NULL, /* parent */
|
||||
NULL, /* relative path */
|
||||
NULL, /* parsing */
|
||||
NULL, /* tooltip */
|
||||
NULL, /* localized */
|
||||
NULL, /* icon */
|
||||
NULL, /* security */
|
||||
0, /* attributes */
|
||||
0, /* flags */
|
||||
&GUID_NULL /* typeid */
|
||||
},
|
||||
{ /* 0x25 - CSIDL_SYSTEM */
|
||||
&FOLDERID_System,
|
||||
CSIDL_Type_SystemPath,
|
||||
NULL,
|
||||
NULL
|
||||
NULL,
|
||||
|
||||
KF_CATEGORY_FIXED, /* category */
|
||||
SystemW, /* name */
|
||||
NULL, /* description */
|
||||
&GUID_NULL, /* parent */
|
||||
NULL, /* relative path */
|
||||
NULL, /* parsing */
|
||||
NULL, /* tooltip */
|
||||
NULL, /* localized */
|
||||
NULL, /* icon */
|
||||
NULL, /* security */
|
||||
0, /* attributes */
|
||||
0, /* flags */
|
||||
&GUID_NULL /* typeid */
|
||||
},
|
||||
{ /* 0x26 - CSIDL_PROGRAM_FILES */
|
||||
&FOLDERID_ProgramFiles,
|
||||
CSIDL_Type_CurrVer,
|
||||
ProgramFilesDirW,
|
||||
Program_FilesW
|
||||
Program_FilesW,
|
||||
|
||||
KF_CATEGORY_FIXED, /* category */
|
||||
ProgramFilesW, /* name */
|
||||
NULL, /* description */
|
||||
&GUID_NULL, /* parent */
|
||||
NULL, /* relative path */
|
||||
NULL, /* parsing */
|
||||
NULL, /* tooltip */
|
||||
NULL, /* localized */
|
||||
NULL, /* icon */
|
||||
NULL, /* security */
|
||||
FILE_ATTRIBUTE_READONLY, /* attributes */
|
||||
0, /* flags */
|
||||
&GUID_NULL /* typeid */
|
||||
},
|
||||
{ /* 0x27 - CSIDL_MYPICTURES */
|
||||
&FOLDERID_Pictures,
|
||||
@ -1152,7 +1284,21 @@ static const CSIDL_DATA CSIDL_Data[] =
|
||||
&FOLDERID_ProgramFilesCommon,
|
||||
CSIDL_Type_CurrVer,
|
||||
CommonFilesDirW,
|
||||
Program_Files_Common_FilesW
|
||||
Program_Files_Common_FilesW,
|
||||
|
||||
KF_CATEGORY_FIXED, /* category */
|
||||
ProgramFilesCommonW, /* name */
|
||||
NULL, /* description */
|
||||
&GUID_NULL, /* parent */
|
||||
NULL, /* relative path */
|
||||
NULL, /* parsing */
|
||||
NULL, /* tooltip */
|
||||
NULL, /* localized */
|
||||
NULL, /* icon */
|
||||
NULL, /* security */
|
||||
0, /* attributes */
|
||||
0, /* flags */
|
||||
&GUID_NULL /* typeid */
|
||||
},
|
||||
{ /* 0x2c - CSIDL_PROGRAM_FILES_COMMONX86 */
|
||||
&FOLDERID_ProgramFilesCommonX86,
|
||||
@ -2879,32 +3025,6 @@ static HRESULT set_folder_attributes(void)
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
|
||||
/* Register the default values in the registry, as some apps seem to depend
|
||||
* on their presence. The set registered was taken from Windows XP.
|
||||
*/
|
||||
HRESULT SHELL_RegisterShellFolders(void)
|
||||
{
|
||||
HRESULT hr;
|
||||
|
||||
/* Set up '$HOME' targeted symlinks for 'My Documents', 'My Pictures',
|
||||
* 'My Videos', 'My Music' and 'Desktop' in advance, so that the
|
||||
* _SHRegister*ShellFolders() functions will find everything nice and clean
|
||||
* and thus will not attempt to create them in the profile directory. */
|
||||
_SHCreateSymbolicLinks();
|
||||
|
||||
hr = _SHRegisterUserShellFolders(TRUE);
|
||||
if (SUCCEEDED(hr))
|
||||
hr = _SHRegisterUserShellFolders(FALSE);
|
||||
if (SUCCEEDED(hr))
|
||||
hr = _SHRegisterCommonShellFolders();
|
||||
if (SUCCEEDED(hr))
|
||||
hr = create_extra_folders();
|
||||
if (SUCCEEDED(hr))
|
||||
hr = set_folder_attributes();
|
||||
return hr;
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
* SHGetSpecialFolderPathA [SHELL32.@]
|
||||
*/
|
||||
@ -3912,16 +4032,12 @@ static HRESULT WINAPI foldermanager_GetFolderByName(
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI foldermanager_RegisterFolder(
|
||||
IKnownFolderManager *iface,
|
||||
REFKNOWNFOLDERID rfid,
|
||||
KNOWNFOLDER_DEFINITION const *pKFD)
|
||||
static HRESULT register_folder(const KNOWNFOLDERID *rfid, const KNOWNFOLDER_DEFINITION *pKFD)
|
||||
{
|
||||
HRESULT hr;
|
||||
HKEY hKey = NULL;
|
||||
DWORD dwDisp;
|
||||
LPWSTR registryPath = NULL;
|
||||
TRACE("(%p, %s, %p)\n", iface, debugstr_guid(rfid), pKFD);
|
||||
|
||||
hr = get_known_folder_registry_path(rfid, NULL, ®istryPath);
|
||||
TRACE("registry path: %s\n", debugstr_w(registryPath));
|
||||
@ -3965,6 +4081,15 @@ static HRESULT WINAPI foldermanager_RegisterFolder(
|
||||
return hr;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI foldermanager_RegisterFolder(
|
||||
IKnownFolderManager *iface,
|
||||
REFKNOWNFOLDERID rfid,
|
||||
KNOWNFOLDER_DEFINITION const *pKFD)
|
||||
{
|
||||
TRACE("(%p, %s, %p)\n", iface, debugstr_guid(rfid), pKFD);
|
||||
return register_folder(rfid, pKFD);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI foldermanager_UnregisterFolder(
|
||||
IKnownFolderManager *iface,
|
||||
REFKNOWNFOLDERID rfid)
|
||||
@ -4085,3 +4210,56 @@ HRESULT WINAPI SHGetKnownFolderIDList(REFKNOWNFOLDERID rfid, DWORD flags, HANDLE
|
||||
FIXME("%s, 0x%08x, %p, %p\n", debugstr_guid(rfid), flags, token, pidl);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static void register_system_knownfolders(void)
|
||||
{
|
||||
int i;
|
||||
for(i = 0; i < sizeof(CSIDL_Data) / sizeof(CSIDL_Data[0]); ++i){
|
||||
const CSIDL_DATA *folder = &CSIDL_Data[i];
|
||||
if(folder->pszName){
|
||||
KNOWNFOLDER_DEFINITION kfd;
|
||||
|
||||
/* register_folder won't modify kfd, so cast away const instead of
|
||||
* reallocating */
|
||||
kfd.category = folder->category;
|
||||
kfd.pszName = (WCHAR*)folder->pszName;
|
||||
kfd.pszDescription = (WCHAR*)folder->pszDescription;
|
||||
memcpy(&kfd.fidParent, folder->fidParent, sizeof(KNOWNFOLDERID));
|
||||
kfd.pszRelativePath = (WCHAR*)folder->pszRelativePath;
|
||||
kfd.pszParsingName = (WCHAR*)folder->pszParsingName;
|
||||
kfd.pszTooltip = (WCHAR*)folder->pszTooltip;
|
||||
kfd.pszLocalizedName = (WCHAR*)folder->pszLocalizedName;
|
||||
kfd.pszIcon = (WCHAR*)folder->pszIcon;
|
||||
kfd.pszSecurity = (WCHAR*)folder->pszSecurity;
|
||||
kfd.dwAttributes = folder->dwAttributes;
|
||||
kfd.kfdFlags = folder->kfdFlags;
|
||||
memcpy(&kfd.ftidType, folder->ftidType, sizeof(FOLDERTYPEID));
|
||||
|
||||
register_folder(folder->id, &kfd);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
HRESULT SHELL_RegisterShellFolders(void)
|
||||
{
|
||||
HRESULT hr;
|
||||
|
||||
/* Set up '$HOME' targeted symlinks for 'My Documents', 'My Pictures',
|
||||
* 'My Videos', 'My Music' and 'Desktop' in advance, so that the
|
||||
* _SHRegister*ShellFolders() functions will find everything nice and clean
|
||||
* and thus will not attempt to create them in the profile directory. */
|
||||
_SHCreateSymbolicLinks();
|
||||
|
||||
hr = _SHRegisterUserShellFolders(TRUE);
|
||||
if (SUCCEEDED(hr))
|
||||
hr = _SHRegisterUserShellFolders(FALSE);
|
||||
if (SUCCEEDED(hr))
|
||||
hr = _SHRegisterCommonShellFolders();
|
||||
if (SUCCEEDED(hr))
|
||||
hr = create_extra_folders();
|
||||
if (SUCCEEDED(hr))
|
||||
hr = set_folder_attributes();
|
||||
if (SUCCEEDED(hr))
|
||||
register_system_knownfolders();
|
||||
return hr;
|
||||
}
|
||||
|
@ -888,6 +888,7 @@ 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 KFD_TODO_WINE 0x40000
|
||||
#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__ }
|
||||
|
||||
@ -923,7 +924,7 @@ struct knownFolderDef {
|
||||
*/
|
||||
static const struct knownFolderDef known_folders[] = {
|
||||
KNOWN_FOLDER(FOLDERID_AddNewPrograms,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"AddNewProgramsFolder",
|
||||
KF_CATEGORY_VIRTUAL,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -933,7 +934,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_AdminTools,
|
||||
CSIDL_ADMINTOOLS,
|
||||
CSIDL_ADMINTOOLS|KFD_TODO_WINE,
|
||||
"Administrative Tools",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_Programs, GUID_NULL,
|
||||
@ -942,7 +943,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY,
|
||||
KFDF_PRECREATE),
|
||||
KNOWN_FOLDER(FOLDERID_AppUpdates,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"AppUpdatesFolder",
|
||||
KF_CATEGORY_VIRTUAL,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -952,7 +953,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_CDBurning,
|
||||
CSIDL_CDBURN_AREA,
|
||||
CSIDL_CDBURN_AREA|KFD_TODO_WINE,
|
||||
"CD Burning",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_LocalAppData, GUID_NULL,
|
||||
@ -961,7 +962,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY,
|
||||
KFDF_LOCAL_REDIRECT_ONLY),
|
||||
KNOWN_FOLDER(FOLDERID_ChangeRemovePrograms,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"ChangeRemoveProgramsFolder",
|
||||
KF_CATEGORY_VIRTUAL,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -971,7 +972,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_CommonAdminTools,
|
||||
CSIDL_COMMON_ADMINTOOLS,
|
||||
CSIDL_COMMON_ADMINTOOLS|KFD_TODO_WINE,
|
||||
"Common Administrative Tools",
|
||||
KF_CATEGORY_COMMON,
|
||||
FOLDERID_CommonPrograms, GUID_NULL,
|
||||
@ -980,7 +981,8 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY,
|
||||
KFDF_PRECREATE),
|
||||
KNOWN_FOLDER(FOLDERID_CommonOEMLinks,
|
||||
CSIDL_COMMON_OEM_LINKS,"OEM Links",
|
||||
CSIDL_COMMON_OEM_LINKS|KFD_TODO_WINE,
|
||||
"OEM Links",
|
||||
KF_CATEGORY_COMMON,
|
||||
FOLDERID_ProgramData, GUID_NULL,
|
||||
"OEM Links",
|
||||
@ -1006,7 +1008,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY,
|
||||
KFDF_PRECREATE),
|
||||
KNOWN_FOLDER(FOLDERID_CommonStartup,
|
||||
CSIDL_COMMON_STARTUP,
|
||||
CSIDL_COMMON_STARTUP|KFD_TODO_WINE,
|
||||
"Common Startup",
|
||||
KF_CATEGORY_COMMON,
|
||||
FOLDERID_CommonPrograms, GUID_NULL,
|
||||
@ -1015,7 +1017,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY,
|
||||
KFDF_PRECREATE),
|
||||
KNOWN_FOLDER(FOLDERID_CommonTemplates,
|
||||
CSIDL_COMMON_TEMPLATES,
|
||||
CSIDL_COMMON_TEMPLATES|KFD_TODO_WINE,
|
||||
"Common Templates",
|
||||
KF_CATEGORY_COMMON,
|
||||
FOLDERID_ProgramData, GUID_NULL,
|
||||
@ -1024,7 +1026,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_ComputerFolder,
|
||||
CSIDL_DRIVES,
|
||||
CSIDL_DRIVES|KFD_TODO_WINE,
|
||||
"MyComputerFolder",
|
||||
KF_CATEGORY_VIRTUAL,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -1033,7 +1035,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_ConflictFolder,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"ConflictFolder",
|
||||
KF_CATEGORY_VIRTUAL,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -1043,7 +1045,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_ConnectionsFolder,
|
||||
CSIDL_CONNECTIONS,
|
||||
CSIDL_CONNECTIONS|KFD_TODO_WINE,
|
||||
"ConnectionsFolder",
|
||||
KF_CATEGORY_VIRTUAL,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -1053,7 +1055,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_Contacts,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"Contacts",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_Profile, GUID_NULL,
|
||||
@ -1062,7 +1064,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY,
|
||||
KFDF_ROAMABLE | KFDF_PRECREATE | KFDF_PUBLISHEXPANDEDPATH),
|
||||
KNOWN_FOLDER(FOLDERID_ControlPanelFolder,
|
||||
CSIDL_CONTROLS,
|
||||
CSIDL_CONTROLS|KFD_TODO_WINE,
|
||||
"ControlPanelFolder",
|
||||
KF_CATEGORY_VIRTUAL,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -1072,7 +1074,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_Cookies,
|
||||
CSIDL_COOKIES,
|
||||
CSIDL_COOKIES|KFD_TODO_WINE,
|
||||
"Cookies",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_RoamingAppData, FOLDERID_LocalAppData,
|
||||
@ -1090,7 +1092,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY,
|
||||
KFDF_ROAMABLE | KFDF_PRECREATE | KFDF_PUBLISHEXPANDEDPATH),
|
||||
KNOWN_FOLDER(FOLDERID_DeviceMetadataStore,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"Device Metadata Store",
|
||||
KF_CATEGORY_COMMON,
|
||||
FOLDERID_ProgramData, GUID_NULL,
|
||||
@ -1099,7 +1101,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_Documents,
|
||||
CSIDL_MYDOCUMENTS,
|
||||
CSIDL_MYDOCUMENTS|KFD_TODO_WINE,
|
||||
"Personal",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_Profile, GUID_NULL,
|
||||
@ -1108,7 +1110,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY,
|
||||
KFDF_ROAMABLE | KFDF_PRECREATE),
|
||||
KNOWN_FOLDER(FOLDERID_DocumentsLibrary,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"DocumentsLibrary",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_Libraries, GUID_NULL,
|
||||
@ -1117,7 +1119,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
KFDF_PRECREATE | KFDF_STREAM),
|
||||
KNOWN_FOLDER(FOLDERID_Downloads,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"Downloads",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_Profile, GUID_NULL,
|
||||
@ -1126,7 +1128,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY,
|
||||
KFDF_ROAMABLE | KFDF_PRECREATE | KFDF_PUBLISHEXPANDEDPATH),
|
||||
KNOWN_FOLDER(FOLDERID_Favorites,
|
||||
CSIDL_FAVORITES,
|
||||
CSIDL_FAVORITES|KFD_TODO_WINE,
|
||||
"Favorites",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_Profile, GUID_NULL,
|
||||
@ -1144,7 +1146,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_Games,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"Games",
|
||||
KF_CATEGORY_VIRTUAL,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -1153,7 +1155,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_GameTasks,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"GameTasks",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_LocalAppData, GUID_NULL,
|
||||
@ -1162,7 +1164,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
KFDF_LOCAL_REDIRECT_ONLY),
|
||||
KNOWN_FOLDER(FOLDERID_History,
|
||||
CSIDL_HISTORY,
|
||||
CSIDL_HISTORY|KFD_TODO_WINE,
|
||||
"History",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_LocalAppData, GUID_NULL,
|
||||
@ -1171,7 +1173,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
KFDF_LOCAL_REDIRECT_ONLY),
|
||||
KNOWN_FOLDER(FOLDERID_HomeGroup,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"HomeGroupFolder",
|
||||
KF_CATEGORY_VIRTUAL,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -1180,7 +1182,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_ImplicitAppShortcuts,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"ImplicitAppShortcuts",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_UserPinned, GUID_NULL,
|
||||
@ -1189,7 +1191,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
KFDF_PRECREATE),
|
||||
KNOWN_FOLDER(FOLDERID_InternetCache,
|
||||
CSIDL_INTERNET_CACHE,
|
||||
CSIDL_INTERNET_CACHE|KFD_TODO_WINE,
|
||||
"Cache",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_LocalAppData, GUID_NULL,
|
||||
@ -1198,7 +1200,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
KFDF_LOCAL_REDIRECT_ONLY),
|
||||
KNOWN_FOLDER(FOLDERID_InternetFolder,
|
||||
CSIDL_INTERNET,
|
||||
CSIDL_INTERNET|KFD_TODO_WINE,
|
||||
"InternetFolder",
|
||||
KF_CATEGORY_VIRTUAL,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -1207,7 +1209,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_Libraries,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"Libraries",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_RoamingAppData, GUID_NULL,
|
||||
@ -1216,7 +1218,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
KFDF_PRECREATE | KFDF_PUBLISHEXPANDEDPATH),
|
||||
KNOWN_FOLDER(FOLDERID_Links,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"Links",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_Profile, GUID_NULL,
|
||||
@ -1225,7 +1227,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY,
|
||||
KFDF_ROAMABLE | KFDF_PRECREATE | KFDF_PUBLISHEXPANDEDPATH),
|
||||
KNOWN_FOLDER(FOLDERID_LocalAppData,
|
||||
CSIDL_LOCAL_APPDATA,
|
||||
CSIDL_LOCAL_APPDATA|KFD_TODO_WINE,
|
||||
"Local AppData",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_Profile, GUID_NULL,
|
||||
@ -1234,7 +1236,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
KFDF_LOCAL_REDIRECT_ONLY | KFDF_PUBLISHEXPANDEDPATH),
|
||||
KNOWN_FOLDER(FOLDERID_LocalAppDataLow,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"LocalAppDataLow",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_Profile, GUID_NULL,
|
||||
@ -1243,7 +1245,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED,
|
||||
KFDF_LOCAL_REDIRECT_ONLY | KFDF_PRECREATE | KFDF_PUBLISHEXPANDEDPATH),
|
||||
KNOWN_FOLDER(FOLDERID_LocalizedResourcesDir,
|
||||
CSIDL_RESOURCES_LOCALIZED,
|
||||
CSIDL_RESOURCES_LOCALIZED|KFD_TODO_WINE,
|
||||
"LocalizedResourcesDir",
|
||||
KF_CATEGORY_FIXED,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -1252,7 +1254,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_Music,
|
||||
CSIDL_MYMUSIC,
|
||||
CSIDL_MYMUSIC|KFD_TODO_WINE,
|
||||
"My Music",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_Profile, GUID_NULL,
|
||||
@ -1261,7 +1263,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY,
|
||||
KFDF_ROAMABLE | KFDF_PRECREATE),
|
||||
KNOWN_FOLDER(FOLDERID_MusicLibrary,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"MusicLibrary",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_Libraries, GUID_NULL,
|
||||
@ -1270,7 +1272,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
KFDF_PRECREATE | KFDF_STREAM),
|
||||
KNOWN_FOLDER(FOLDERID_NetHood,
|
||||
CSIDL_NETHOOD,
|
||||
CSIDL_NETHOOD|KFD_TODO_WINE,
|
||||
"NetHood",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_RoamingAppData, GUID_NULL,
|
||||
@ -1279,7 +1281,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_NetworkFolder,
|
||||
CSIDL_NETWORK,
|
||||
CSIDL_NETWORK|KFD_TODO_WINE,
|
||||
"NetworkPlacesFolder",
|
||||
KF_CATEGORY_VIRTUAL,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -1288,7 +1290,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_OriginalImages,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"Original Images",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_LocalAppData, GUID_NULL,
|
||||
@ -1297,7 +1299,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_PhotoAlbums,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"PhotoAlbums",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_Pictures, GUID_NULL,
|
||||
@ -1306,7 +1308,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_Pictures,
|
||||
CSIDL_MYPICTURES,
|
||||
CSIDL_MYPICTURES|KFD_TODO_WINE,
|
||||
"My Pictures",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_Profile, GUID_NULL,
|
||||
@ -1315,7 +1317,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY,
|
||||
KFDF_ROAMABLE | KFDF_PRECREATE),
|
||||
KNOWN_FOLDER(FOLDERID_PicturesLibrary,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"PicturesLibrary",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_Libraries, GUID_NULL,
|
||||
@ -1324,7 +1326,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
KFDF_PRECREATE | KFDF_STREAM),
|
||||
KNOWN_FOLDER(FOLDERID_Playlists,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"Playlists",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_Music, GUID_NULL,
|
||||
@ -1333,7 +1335,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_PrintersFolder,
|
||||
CSIDL_PRINTERS,
|
||||
CSIDL_PRINTERS|KFD_TODO_WINE,
|
||||
"PrintersFolder",
|
||||
KF_CATEGORY_VIRTUAL,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -1342,7 +1344,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_PrintHood,
|
||||
CSIDL_PRINTHOOD,
|
||||
CSIDL_PRINTHOOD|KFD_TODO_WINE,
|
||||
"PrintHood",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_RoamingAppData, GUID_NULL,
|
||||
@ -1351,7 +1353,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_Profile,
|
||||
CSIDL_PROFILE,
|
||||
CSIDL_PROFILE|KFD_TODO_WINE,
|
||||
"Profile",
|
||||
KF_CATEGORY_FIXED,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -1388,7 +1390,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_ProgramFilesCommonX64,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"ProgramFilesCommonX64",
|
||||
KF_CATEGORY_FIXED,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -1397,7 +1399,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_ProgramFilesCommonX86,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"ProgramFilesCommonX86",
|
||||
KF_CATEGORY_FIXED,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -1406,7 +1408,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_ProgramFilesX64,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"ProgramFilesX64",
|
||||
KF_CATEGORY_FIXED,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -1415,7 +1417,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_ProgramFilesX86,
|
||||
CSIDL_PROGRAM_FILESX86,
|
||||
CSIDL_PROGRAM_FILESX86|KFD_TODO_WINE,
|
||||
"ProgramFilesX86",
|
||||
KF_CATEGORY_FIXED,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -1424,7 +1426,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY,
|
||||
KFDF_PRECREATE),
|
||||
KNOWN_FOLDER(FOLDERID_Programs,
|
||||
CSIDL_PROGRAMS,
|
||||
CSIDL_PROGRAMS|KFD_TODO_WINE,
|
||||
"Programs",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_StartMenu, GUID_NULL,
|
||||
@ -1433,7 +1435,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY,
|
||||
KFDF_PRECREATE),
|
||||
KNOWN_FOLDER(FOLDERID_Public,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"Public",
|
||||
KF_CATEGORY_FIXED,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -1443,7 +1445,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY,
|
||||
KFDF_PRECREATE),
|
||||
KNOWN_FOLDER(FOLDERID_PublicDesktop,
|
||||
CSIDL_COMMON_DESKTOPDIRECTORY,
|
||||
CSIDL_COMMON_DESKTOPDIRECTORY|KFD_TODO_WINE,
|
||||
"Common Desktop",
|
||||
KF_CATEGORY_COMMON,
|
||||
FOLDERID_Public, GUID_NULL,
|
||||
@ -1452,7 +1454,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_HIDDEN,
|
||||
KFDF_PRECREATE),
|
||||
KNOWN_FOLDER(FOLDERID_PublicDocuments,
|
||||
CSIDL_COMMON_DOCUMENTS,
|
||||
CSIDL_COMMON_DOCUMENTS|KFD_TODO_WINE,
|
||||
"Common Documents",
|
||||
KF_CATEGORY_COMMON,
|
||||
FOLDERID_Public, GUID_NULL,
|
||||
@ -1461,7 +1463,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY,
|
||||
KFDF_PRECREATE),
|
||||
KNOWN_FOLDER(FOLDERID_PublicDownloads,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"CommonDownloads",
|
||||
KF_CATEGORY_COMMON,
|
||||
FOLDERID_Public, GUID_NULL,
|
||||
@ -1470,7 +1472,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY,
|
||||
KFDF_PRECREATE),
|
||||
KNOWN_FOLDER(FOLDERID_PublicGameTasks,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"PublicGameTasks",
|
||||
KF_CATEGORY_COMMON,
|
||||
FOLDERID_ProgramData, GUID_NULL,
|
||||
@ -1479,7 +1481,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
KFDF_LOCAL_REDIRECT_ONLY),
|
||||
KNOWN_FOLDER(FOLDERID_PublicLibraries,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"PublicLibraries",
|
||||
KF_CATEGORY_COMMON,
|
||||
FOLDERID_Public, GUID_NULL,
|
||||
@ -1488,7 +1490,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_HIDDEN,
|
||||
KFDF_PRECREATE),
|
||||
KNOWN_FOLDER(FOLDERID_PublicMusic,
|
||||
CSIDL_COMMON_MUSIC,
|
||||
CSIDL_COMMON_MUSIC|KFD_TODO_WINE,
|
||||
"CommonMusic",
|
||||
KF_CATEGORY_COMMON,
|
||||
FOLDERID_Public, GUID_NULL,
|
||||
@ -1497,7 +1499,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY,
|
||||
KFDF_PRECREATE),
|
||||
KNOWN_FOLDER(FOLDERID_PublicPictures,
|
||||
CSIDL_COMMON_PICTURES,
|
||||
CSIDL_COMMON_PICTURES|KFD_TODO_WINE,
|
||||
"CommonPictures",
|
||||
KF_CATEGORY_COMMON,
|
||||
FOLDERID_Public, GUID_NULL,
|
||||
@ -1506,7 +1508,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY,
|
||||
KFDF_PRECREATE),
|
||||
KNOWN_FOLDER(FOLDERID_PublicRingtones,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"CommonRingtones",
|
||||
KF_CATEGORY_COMMON,
|
||||
FOLDERID_ProgramData, GUID_NULL,
|
||||
@ -1515,7 +1517,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
KFDF_PRECREATE),
|
||||
KNOWN_FOLDER(FOLDERID_PublicVideos,
|
||||
CSIDL_COMMON_VIDEO,
|
||||
CSIDL_COMMON_VIDEO|KFD_TODO_WINE,
|
||||
"CommonVideo",
|
||||
KF_CATEGORY_COMMON,
|
||||
FOLDERID_Public, GUID_NULL,
|
||||
@ -1524,7 +1526,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY,
|
||||
KFDF_PRECREATE),
|
||||
KNOWN_FOLDER(FOLDERID_QuickLaunch,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"Quick Launch",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_RoamingAppData, GUID_NULL,
|
||||
@ -1533,7 +1535,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_Recent,
|
||||
CSIDL_RECENT,
|
||||
CSIDL_RECENT|KFD_TODO_WINE,
|
||||
"Recent",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_RoamingAppData, GUID_NULL,
|
||||
@ -1542,7 +1544,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY,
|
||||
KFDF_PRECREATE),
|
||||
KNOWN_FOLDER(FOLDERID_RecordedTVLibrary,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"RecordedTVLibrary",
|
||||
KF_CATEGORY_COMMON,
|
||||
FOLDERID_PublicLibraries, GUID_NULL,
|
||||
@ -1551,7 +1553,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
KFDF_PRECREATE | KFDF_STREAM),
|
||||
KNOWN_FOLDER(FOLDERID_RecycleBinFolder,
|
||||
CSIDL_BITBUCKET,
|
||||
CSIDL_BITBUCKET|KFD_TODO_WINE,
|
||||
"RecycleBinFolder",
|
||||
KF_CATEGORY_VIRTUAL,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -1560,7 +1562,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_ResourceDir,
|
||||
CSIDL_RESOURCES,
|
||||
CSIDL_RESOURCES|KFD_TODO_WINE,
|
||||
"ResourceDir",
|
||||
KF_CATEGORY_FIXED,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -1569,7 +1571,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_Ringtones,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"Ringtones",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_LocalAppData, GUID_NULL,
|
||||
@ -1578,7 +1580,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
KFDF_PRECREATE),
|
||||
KNOWN_FOLDER(FOLDERID_RoamingAppData,
|
||||
CSIDL_APPDATA,
|
||||
CSIDL_APPDATA|KFD_TODO_WINE,
|
||||
"AppData",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_Profile, GUID_NULL,
|
||||
@ -1587,7 +1589,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_SampleMusic,
|
||||
NO_CSIDL|WINE_ATTRIBUTES_OPTIONAL /* win8 */,
|
||||
NO_CSIDL|KFD_TODO_WINE|WINE_ATTRIBUTES_OPTIONAL /* win8 */,
|
||||
"SampleMusic",
|
||||
KF_CATEGORY_COMMON,
|
||||
FOLDERID_PublicMusic, GUID_NULL,
|
||||
@ -1596,7 +1598,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY,
|
||||
KFDF_PRECREATE),
|
||||
KNOWN_FOLDER(FOLDERID_SamplePictures,
|
||||
NO_CSIDL|WINE_ATTRIBUTES_OPTIONAL /* win8 */,
|
||||
NO_CSIDL|KFD_TODO_WINE|WINE_ATTRIBUTES_OPTIONAL /* win8 */,
|
||||
"SamplePictures",
|
||||
KF_CATEGORY_COMMON,
|
||||
FOLDERID_PublicPictures, GUID_NULL,
|
||||
@ -1605,7 +1607,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY,
|
||||
KFDF_PRECREATE),
|
||||
KNOWN_FOLDER(FOLDERID_SamplePlaylists,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"SamplePlaylists",
|
||||
KF_CATEGORY_COMMON,
|
||||
FOLDERID_PublicMusic, GUID_NULL,
|
||||
@ -1614,7 +1616,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_SampleVideos,
|
||||
NO_CSIDL|WINE_ATTRIBUTES_OPTIONAL /* win8 */,
|
||||
NO_CSIDL|KFD_TODO_WINE|WINE_ATTRIBUTES_OPTIONAL /* win8 */,
|
||||
"SampleVideos",
|
||||
KF_CATEGORY_COMMON,
|
||||
FOLDERID_PublicVideos, GUID_NULL,
|
||||
@ -1623,7 +1625,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY,
|
||||
KFDF_PRECREATE),
|
||||
KNOWN_FOLDER(FOLDERID_SavedGames,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"SavedGames",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_Profile, GUID_NULL,
|
||||
@ -1632,7 +1634,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY,
|
||||
KFDF_ROAMABLE | KFDF_PRECREATE | KFDF_PUBLISHEXPANDEDPATH),
|
||||
KNOWN_FOLDER(FOLDERID_SavedSearches,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"Searches",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_Profile, GUID_NULL,
|
||||
@ -1641,7 +1643,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY,
|
||||
KFDF_PRECREATE | KFDF_PUBLISHEXPANDEDPATH),
|
||||
KNOWN_FOLDER(FOLDERID_SEARCH_CSC,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"CSCFolder",
|
||||
KF_CATEGORY_VIRTUAL,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -1650,7 +1652,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_SearchHome,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"SearchHomeFolder",
|
||||
KF_CATEGORY_VIRTUAL,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -1659,7 +1661,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_SEARCH_MAPI,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"MAPIFolder",
|
||||
KF_CATEGORY_VIRTUAL,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -1668,7 +1670,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_SendTo,
|
||||
CSIDL_SENDTO,
|
||||
CSIDL_SENDTO|KFD_TODO_WINE,
|
||||
"SendTo",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_RoamingAppData, GUID_NULL,
|
||||
@ -1677,7 +1679,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_SidebarDefaultParts,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"Default Gadgets",
|
||||
KF_CATEGORY_COMMON,
|
||||
FOLDERID_ProgramFiles, GUID_NULL,
|
||||
@ -1686,7 +1688,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_SidebarParts,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"Gadgets",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_LocalAppData, GUID_NULL,
|
||||
@ -1695,7 +1697,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_StartMenu,
|
||||
CSIDL_STARTMENU,
|
||||
CSIDL_STARTMENU|KFD_TODO_WINE,
|
||||
"Start Menu",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_RoamingAppData, GUID_NULL,
|
||||
@ -1704,7 +1706,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY,
|
||||
KFDF_PRECREATE),
|
||||
KNOWN_FOLDER(FOLDERID_Startup,
|
||||
CSIDL_STARTUP,
|
||||
CSIDL_STARTUP|KFD_TODO_WINE,
|
||||
"Startup",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_Programs, GUID_NULL,
|
||||
@ -1713,7 +1715,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY,
|
||||
KFDF_PRECREATE),
|
||||
KNOWN_FOLDER(FOLDERID_SyncManagerFolder,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"SyncCenterFolder",
|
||||
KF_CATEGORY_VIRTUAL,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -1723,7 +1725,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_SyncResultsFolder,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"SyncResultsFolder",
|
||||
KF_CATEGORY_VIRTUAL,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -1733,7 +1735,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_SyncSetupFolder,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"SyncSetupFolder",
|
||||
KF_CATEGORY_VIRTUAL,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -1752,7 +1754,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_SystemX86,
|
||||
CSIDL_SYSTEMX86,
|
||||
CSIDL_SYSTEMX86|KFD_TODO_WINE,
|
||||
"SystemX86",
|
||||
KF_CATEGORY_FIXED,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -1761,7 +1763,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_Templates,
|
||||
CSIDL_TEMPLATES,
|
||||
CSIDL_TEMPLATES|KFD_TODO_WINE,
|
||||
"Templates",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_RoamingAppData, GUID_NULL,
|
||||
@ -1770,7 +1772,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_UserPinned,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"User Pinned",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_QuickLaunch, GUID_NULL,
|
||||
@ -1779,7 +1781,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_HIDDEN,
|
||||
KFDF_PRECREATE),
|
||||
KNOWN_FOLDER(FOLDERID_UserProfiles,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"UserProfiles",
|
||||
KF_CATEGORY_FIXED,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -1788,7 +1790,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY,
|
||||
KFDF_PRECREATE),
|
||||
KNOWN_FOLDER(FOLDERID_UserProgramFiles,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"UserProgramFiles",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_LocalAppData, GUID_NULL,
|
||||
@ -1797,7 +1799,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_UserProgramFilesCommon,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"UserProgramFilesCommon",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_UserProgramFiles, GUID_NULL,
|
||||
@ -1806,7 +1808,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_UsersFiles,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"UsersFilesFolder",
|
||||
KF_CATEGORY_VIRTUAL,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -1815,7 +1817,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_UsersLibraries,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"UsersLibrariesFolder",
|
||||
KF_CATEGORY_VIRTUAL,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -1824,7 +1826,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(FOLDERID_Videos,
|
||||
CSIDL_MYVIDEO,
|
||||
CSIDL_MYVIDEO|KFD_TODO_WINE,
|
||||
"My Video",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_Profile, GUID_NULL,
|
||||
@ -1833,7 +1835,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
FILE_ATTRIBUTE_READONLY,
|
||||
KFDF_ROAMABLE | KFDF_PRECREATE),
|
||||
KNOWN_FOLDER(FOLDERID_VideosLibrary,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"VideosLibrary",
|
||||
KF_CATEGORY_PERUSER,
|
||||
FOLDERID_Libraries, GUID_NULL,
|
||||
@ -1851,7 +1853,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(_FOLDERID_CredentialManager,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"CredentialManager",
|
||||
KF_CATEGORY_FIXED,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -1860,7 +1862,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(_FOLDERID_CryptoKeys,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"CryptoKeys",
|
||||
KF_CATEGORY_FIXED,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -1869,7 +1871,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(_FOLDERID_DpapiKeys,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"DpapiKeys",
|
||||
KF_CATEGORY_FIXED,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -1878,7 +1880,7 @@ static const struct knownFolderDef known_folders[] = {
|
||||
0,
|
||||
0),
|
||||
KNOWN_FOLDER(_FOLDERID_SystemCertificates,
|
||||
NO_CSIDL,
|
||||
NO_CSIDL|KFD_TODO_WINE,
|
||||
"SystemCertificates",
|
||||
KF_CATEGORY_FIXED,
|
||||
GUID_NULL, GUID_NULL,
|
||||
@ -1955,14 +1957,16 @@ static void check_known_folder(IKnownFolderManager *mgr, KNOWNFOLDERID *folderId
|
||||
if(SUCCEEDED(hr))
|
||||
{
|
||||
hr = IKnownFolder_GetFolderDefinition(folder, &kfd);
|
||||
todo_wine
|
||||
ok_(__FILE__, known_folder->line)(hr == S_OK, "cannot get known folder definition for %s\n", known_folder->sFolderId);
|
||||
if(known_folder->csidl & KFD_TODO_WINE)
|
||||
todo_wine
|
||||
ok_(__FILE__, known_folder->line)(hr == S_OK, "cannot get known folder definition for %s\n", known_folder->sFolderId);
|
||||
else
|
||||
ok_(__FILE__, known_folder->line)(hr == S_OK, "cannot get known folder definition for %s\n", known_folder->sFolderId);
|
||||
if(SUCCEEDED(hr))
|
||||
{
|
||||
ret = MultiByteToWideChar(CP_ACP, 0, known_folder->sName, -1, sName, sizeof(sName)/sizeof(sName[0]));
|
||||
ok_(__FILE__, known_folder->line)(ret != 0, "cannot convert known folder name \"%s\" to wide characters\n", known_folder->sName);
|
||||
|
||||
todo_wine
|
||||
ok_(__FILE__, known_folder->line)(lstrcmpW(kfd.pszName, sName)==0, "invalid known folder name returned for %s: %s expected, but %s retrieved\n", known_folder->sFolderId, wine_dbgstr_w(sName), wine_dbgstr_w(kfd.pszName));
|
||||
|
||||
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);
|
||||
@ -2091,9 +2095,7 @@ static void test_knownFolders(void)
|
||||
if(SUCCEEDED(hr))
|
||||
{
|
||||
hr = IKnownFolder_GetCategory(folder, &cat);
|
||||
todo_wine
|
||||
ok(hr == S_OK, "failed to get folder category: 0x%08x\n", hr);
|
||||
todo_wine
|
||||
ok(cat==KF_CATEGORY_FIXED, "invalid folder category: %d\n", cat);
|
||||
|
||||
hr = IKnownFolder_GetId(folder, &folderId);
|
||||
@ -2116,15 +2118,11 @@ static void test_knownFolders(void)
|
||||
ok(hr == E_INVALIDARG, "unexpected value from SetPath: 0x%08x\n", hr);
|
||||
|
||||
hr = IKnownFolder_GetFolderDefinition(folder, &kfDefinition);
|
||||
todo_wine
|
||||
ok(hr == S_OK, "failed to get folder definition: 0x%08x\n", hr);
|
||||
if(SUCCEEDED(hr))
|
||||
{
|
||||
todo_wine
|
||||
ok(kfDefinition.category==KF_CATEGORY_FIXED, "invalid folder category: 0x%08x\n", kfDefinition.category);
|
||||
todo_wine
|
||||
ok(lstrcmpW(kfDefinition.pszName, sWindows)==0, "invalid folder name: %s\n", wine_dbgstr_w(kfDefinition.pszName));
|
||||
todo_wine
|
||||
ok(kfDefinition.dwAttributes==0, "invalid folder attributes: %d\n", kfDefinition.dwAttributes);
|
||||
FreeKnownFolderDefinitionFields(&kfDefinition);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user