仮想シェル フォルダー内の LPITEMIDLIST アイテムがファイルか別のフォルダーかを確認しようとしています。Windows 7 では正常に動作します。IShellFolder::GetAttributesOf
返されたコードはここで見つけることができます。しかし、Windows XP では、uAttrvalue = 1342177378 (ディレクトリの場合は 0x50000062、ファイルの場合は 1073741922 (0x40000062)) であり、SFGAO リストで見つけることができません。私は単にそれを呼び出します:
hr = psfVobj->GetAttributesOf(1, (LPCITEMIDLIST *) &pidlItems, &uAttr);
hr = S_OK //so the function call completed with no errors