如何使用Windows Portable Devices C ++ API获取MTP设备公开的文件夹中的所有文件(对象)列表?

时间:2015-12-07 13:56:23

标签: c++ winapi com mtp wpd

可以枚举MTP设备文件系统中的所有文件,然后获取系统中每个文件/文件夹的对象ID。

我的问题是:

  1. 是否有方法可以查找对象是文件还是文件夹?
  2. 找到文件夹后如何获取其中所有文件(对象)的列表?
  3. 我已经在msdn网站上查看了程序员的参考页面,但没有找到任何相关内容。我错过了什么吗?

    谢谢!

1 个答案:

答案 0 :(得分:3)

  1. 使用IPortableDeviceValues(您从IPortableDeviceProperties::GetValues()方法获得),查询WPD_OBJECT_CONTENT_TYPE。如果对象是文件夹,它将返回WPD_CONTENT_TYPE_FOLDER

  2. 使用IPortableDeviceContent::EnumObjects()方法,您可以枚举任何文件夹对象的内容。