shell32/tests: Add notification about unknown known folders.

This commit is contained in:
Mariusz Pluciński 2011-07-29 19:07:49 +02:00 committed by Alexandre Julliard
parent 9b98b1ef75
commit e09f4ed0e8
1 changed files with 39 additions and 0 deletions

View File

@ -1021,11 +1021,14 @@ static void check_known_folder(IKnownFolderManager *mgr, KNOWNFOLDERID *folderId
WCHAR sName[1024], sRelativePath[MAX_PATH]; WCHAR sName[1024], sRelativePath[MAX_PATH];
BOOL validPath; BOOL validPath;
char sParentGuid[39]; char sParentGuid[39];
BOOL found = FALSE;
while(known_folder->folderId != NULL) while(known_folder->folderId != NULL)
{ {
if(IsEqualGUID(known_folder->folderId, folderId)) if(IsEqualGUID(known_folder->folderId, folderId))
{ {
found = TRUE;
/* verify CSIDL */ /* verify CSIDL */
if(known_folder->csidl != NO_CSIDL) if(known_folder->csidl != NO_CSIDL)
{ {
@ -1082,6 +1085,42 @@ static void check_known_folder(IKnownFolderManager *mgr, KNOWNFOLDERID *folderId
} }
known_folder++; known_folder++;
} }
if(!found)
{
printGUID(folderId, sParentGuid);
trace("unknown known folder found: %s\n", sParentGuid);
hr = IKnownFolderManager_GetFolder(mgr, folderId, &folder);
ok(hr == S_OK, "cannot get known folder for %s\n", sParentGuid);
if(SUCCEEDED(hr))
{
hr = IKnownFolder_GetFolderDefinition(folder, &kfd);
todo_wine
ok(hr == S_OK, "cannot get known folder definition for %s\n", sParentGuid);
if(SUCCEEDED(hr))
{
trace(" category: %d\n", kfd.category);
trace(" name: %s\n", wine_dbgstr_w(kfd.pszName));
trace(" description: %s\n", wine_dbgstr_w(kfd.pszDescription));
printGUID(&kfd.fidParent, sParentGuid);
trace(" parent: %s\n", sParentGuid);
trace(" relative path: %s\n", wine_dbgstr_w(kfd.pszRelativePath));
trace(" parsing name: %s\n", wine_dbgstr_w(kfd.pszParsingName));
trace(" tooltip: %s\n", wine_dbgstr_w(kfd.pszTooltip));
trace(" localized name: %s\n", wine_dbgstr_w(kfd.pszLocalizedName));
trace(" icon: %s\n", wine_dbgstr_w(kfd.pszIcon));
trace(" security: %s\n", wine_dbgstr_w(kfd.pszSecurity));
trace(" attributes: 0x%08x\n", kfd.dwAttributes);
trace(" flags: 0x%08x\n", kfd.kfdFlags);
printGUID(&kfd.ftidType, sParentGuid);
trace(" type: %s\n", sParentGuid);
FreeKnownFolderDefinitionFields(&kfd);
}
IKnownFolder_Release(folder);
}
}
} }
#undef NO_CSIDL #undef NO_CSIDL
#undef CSIDL_TODO_WINE #undef CSIDL_TODO_WINE