C++ 获取回收站中文件的IPropertySetStorage

C++ 获取回收站中文件的IPropertySetStorage,c++,properties,com,windows-shell,C++,Properties,Com,Windows Shell,我试图从文件(标题、作者等)中枚举文件属性,并发现枚举回收站中的文件尤其有问题。但是,在确定了我认为存在的问题之后,我确信其他文件夹可能会出现同样的问题 我发现,通过某些特殊文件夹中的desktop.ini等方法创建的或受其影响(见下文),这将导致itemiList在(或)中使用时失败,我用于获取文件接口,我使用该接口枚举文件属性 为了描述我所说的“受desktop.ini影响”,我发现它返回的路径在名称上被desktop.ini更改,例如通过翻译desktop.ini中的“LocalizedR

我试图从文件(标题、作者等)中枚举文件属性,并发现枚举回收站中的文件尤其有问题。但是,在确定了我认为存在的问题之后,我确信其他文件夹可能会出现同样的问题

我发现,通过某些特殊文件夹中的desktop.ini等方法创建的或受其影响(见下文),这将导致
itemiList
在(或)中使用时失败,我用于获取文件接口,我使用该接口枚举文件属性

为了描述我所说的“受desktop.ini影响”,我发现它返回的路径在名称上被desktop.ini更改,例如通过翻译desktop.ini中的“LocalizedResourceName”,并且
ItemIdle列表中返回的路径不再与磁盘上的实际路径一致。这会导致绑定方法在HRESULT 0x80070002中失败

基于我所做的调试和研究,我认为我的问题有两种可能的解决方案。然而,我目前不知道如何做这两件事,或者事实上,如果这两件事都有可能的话。这就引出了这组问题:

1) 是否可以通过某种不受文件夹中desktop.ini影响的方法获取
ITEMIDLIST

2) 是否有某种方法可以获得文件的
IPropertySetStorage
接口,而无需使用
项目列表


或者,如果有人有更好的方法来获取有关文件的一般信息,我将非常感谢您的建议。

Windows资源管理器中回收站中的文件也无法使用shell属性页,因此,我想答案是否定的。

我能够完美地列举我在删除desktop.ini文件时所查找的数据,并且我可以明显地看到ItemIdle列表中描述实际文件路径的更改。请记住,物理文件本身在放入回收站时不会被更改。数据仍然存在,只是资源管理器本身选择以不同的方式显示内容(基于desktop.ini foo)。是的,但您正在从具有desktop.ini的特殊资源管理器文件夹视图中请求IPropertySetStorage。