Robię spis zawartości dysku/folderu za pomocą IShellFolder, IEnumIDList, PIDL.. Pod win2000 jest OK, ale pod XP nie. Jak zostanie napotkany plik *.zip to jest on traktowany jako folder (!) - IShellFolder->GetAttributesOf dla pliku *.zip zwraca atrybut SFGAO_FOLDER między innymi.
Atrybuty dla zip'a:
1100000010000000000000101110111
Dla innych plików:
1000000010000000000000101110111
Dla folderów:
1110000100000000000000101111111
ZIP od zwykłego pliku różni się tylko SFGAO_FOLDER. Natomiast różnica między folderem a plikiem to kilka atrybutów.
Jak prawidłowo ocenić, że obiekt jest folderem a nie plikiem, nie tylko na podstawie tego, że wybiorę sobie jakiś atrybut np.: SFGAO_storageancestor 0x00800000 ???