views:

37

answers:

1

I'm trying to resolve an issue that I brought up at the end of the investigation into SHBrowseForFolder and folder shortcut browsing: I cannot figure out how IFolderFilter's member function ShouldShow should work to filter out everything but folders and folder shortcuts.

I haven't found much documentation on this and my current solution doesn't work, please see below:

Here's what I have for the function:

HRESULT STDMETHODCALLTYPE ShouldShow(IShellFolder* sf, LPCITEMIDLIST pidlFolder, LPCITEMIDLIST pidlItem)  
{  
    HRESULT resultCode = S_OK;  

    ULONG attributes = 0UL;  

    if (SUCCEEDED(sf->GetAttributesOf(1, &pidlItem, &attributes)))  
    {  
        if (attributes & SFGAO_FOLDER)  
        {  
            resultCode = S_OK;  // Yes, I see the folders
        }  
        else if (attributes & SFGAO_LINK)  
        {  
            // How do I determine if it is a folder AND let the end-user explore them?
            // I ran the code with the resultCode = S_OK just to see what happens
            // it displays the shortcut folders, but I cannot explore them. When I
            // "expand" them (click on the plus-sign-box), nothing happens.
        }  
    }  

    return resultCode;  
}  

Can anyone tell me what code I need to add to filter out everything but folders and folder shortcuts (and still be able to explore the folder shortcuts)?

Thanks in advance!

A: 

There doesn't seem to be a way.

Lyndsey Ferguson