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

标签 c++ winapi com mtp wpd

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

我的问题是:

  1. 有没有一种方法可以判断对象是文件还是文件夹?
  2. 找到文件夹后如何获取其中所有文件(对象)的列表?

我查看了 msdn 网站中的程序员引用页面,但没有找到任何相关内容。我错过了什么吗?

谢谢!

最佳答案

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

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

关于c++ - 如何使用 Windows 可移植设备 C++ API 获取 MTP 设备公开的文件夹中所有文件(对象)的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34135294/

相关文章:

c++ - ncurses:箭头键不起作用

winapi - 如何在 Firemonkey 中获取 TCanvas DC?

delphi - 以可执行的免注册方式使用 COM 对象

c++ - MS 链接从 gnu make 失败,但从 cmd 行工作

c++ - 以指针为键的QMap

c++ - 如何打印 ;使用 CMake 命令的符号?

c# - 通过句柄获取窗口的边界

winapi - SetWindowText 慢,Win32 C++

com - 可以在 VBScript 中按名称访问 WMI 对象的属性吗?

.net - 两台计算机之间基于 COM 的软件控制,以及从 Linux 到 Windows