Winapi 如何检查IShellFolder是否为驱动器?

Winapi 如何检查IShellFolder是否为驱动器?,winapi,visual-c++,com,windows-shell,Winapi,Visual C++,Com,Windows Shell,我正在尝试筛选SHBrowseForFolder中显示的文件夹,并将其限制为驱动器。我正在通过IFilterFolder界面过滤此内容,该界面允许我使用IShellFolder界面访问正在显示的文件夹 是否有方法检查给定的IShellFolder是否为驱动器?IShellFolder的GetAttributesOf()成员函数可用于获取列表中顶级驱动器项的属性,这些属性将为零。我目前找不到任何其他替代方法。

我正在尝试筛选SHBrowseForFolder中显示的文件夹,并将其限制为驱动器。我正在通过IFilterFolder界面过滤此内容,该界面允许我使用IShellFolder界面访问正在显示的文件夹


是否有方法检查给定的IShellFolder是否为驱动器?

IShellFolder的GetAttributesOf()成员函数可用于获取列表中顶级驱动器项的属性,这些属性将为零。我目前找不到任何其他替代方法。

并查看结果是否为驱动器号。嗯,顶级驱动器项仍将报告SFGAO\u FOLDER、SFGAO\u CANLINK和其他几个属性。不确定您为什么声称他们将报告0。也不确定为什么会发生这种情况:((可能是我使用GetAttributesOf()函数时出错)。这是我的筛选函数的列表:嗯,GetAtributesOf的最后一个参数是一个INOUT参数,表示您感兴趣的标志。您说您不感兴趣的标志,因此结果是垃圾。啊,您是正确的。在传递正确的标志后,属性变为非零。我可以使用GetDisplayNa筛选驱动器谢谢你的帮助,雷蒙德:)