[PATCH 1/3] shlwapi: Be less strict on which type of IShellFolder can be enumerated

Nikolay Sivov nsivov at codeweavers.com
Sat Jun 5 10:16:41 CDT 2010

On 6/5/2010 19:09, Andrew Eikum wrote:
>>> Trouble is, I have no idea what it is used for.  I tried testing most
>>> of the CLSIDs in shlguid.h with different combinations of flags, none
>>> of which had any effect.  It must just be looking out for a small
>>> number of specific CLSIDs.  One possible guess is that it tweaks the
>>> flags parameter when certain CLSIDs are detected, but none of my tests
>>> turned up anything interesting.
>>> Any thoughts?  Should I just send as-is?
>> So it doesn't care about classid returned from IPersist. I think it's
>> enough now to add tests for not-called QI for IShellFolder and a test
>> for a bunch of known CLSIDs for folders. After that (if you dummy CLSID
>> is allowed too) probably it's ok to remove all checks.
> I'm not sure I follow.  As the tests in the patch show, QI is called up to
> two times, once for IPersist and once for IPersistFolder if the first
> fails.  I can certainly add tests for returning different CLSIDs, though
> that seems uninteresting to me since they all behave identically.
I mean, create different types of shellfolders, then test that function 
accepts them all. And a simple check that QI isn't called for 
IShellFolder, so
argument expected to be IShellFolder pointer.
> Removing the code in shlwapi.404 will lead to test failures since Windows
> _does_ make QI and GetClassID calls, it's just unknown what it does with
> the data it gets.
> What do you think?  Remove the tests?  Add todo_wine and remove the
> 'dummy' code in shlwapi.404?
Remove tests and add a note in function code that this GetClassID method 
is actually called for unknown purpose.

Another way is to make is accept another CLSID, if I got it right it is 
why you started to patch it.
> Thanks for your feedback,
> Andrew

More information about the wine-devel mailing list