XP IShellFolder::EnumObjects bug

XP IShellFolder::EnumObjects bug

Post by mike » Sat, 05 Jul 2003 08:56:15

After obtaining a IEnumIDList from identical
IShellFolder's, the pidl returned from IEnumIDList::Next()
is missing the SHGDN_INFOLDER string.

should be for SHGDN_INFOLDER :
"Server Description (ServerName)"

instead is returning:

I don't see anything in the documentation which
indicates a dependency on the SHCONTF_* parameters
of IShellFolder::EnumObjects and the pidl returned from
I get the descriptive server name. I guess I will have to
stick with the non-descriptive name for servers in my


m_hr = m_ShF->EnumObjects( NULL,

m_hr = m_ShF->EnumObjects( NULL,
m_SHCONTF_FOLDERS, &m_pEnum );


1. Caching IShellFolders for IShellFolder::BindToObject

I have implemented a cache for storing IShellFolders that are created by
explorer calling IShellFolder::BindToObject() in my multi level foldering
NSE. Basically I have a hashtable that is keyed on a string representation
of the pidl of the IShellFolder. Each time BingToObject is called I try to
obtain an IShellFolder from the cache by the string representation of the
absolute pidl constructed from the pidl passed into BindToObject. If the
cache does not hold the requested IShellFolder then I create a new one, add
it to the cache and pass it back out of the function. Debugging this things
seem to work fine and IShellFolders are being taken from the cache and given
to explorer however when I try to go into a subfolder in the NSE explorer
does the work to bind to the new IShellFolder but never calls the
IShellFolder::CreateViewObject method, this means the namespace is still
sitting in the same folder view as before.

Anyone got any ideas?


2. slow performance win2000

3. How to differenciate ZIP files from the regular folders on XP using IShellFolder

4. How to find the value of a given node

5. repeated IShellFolder Calls on Win XP

6. new thread: Font identification needed

7. EnumObjects when the mapped drive is dead

8. USB under DOS

9. EnumObjects throwing exception on folder "C:\WINDOWS\Favorites\Microsoft Channel Guide"

10. EnumObjects not enumerating more than one

11. How to know items enumerated by 'EnumObjects' represent neibor computer name?

12. Bugs, bugs, bugs...

13. Bugs bugs and more bugs