我想从WPD API获取MTP USB设备的所有根目录(我可以将它们标识为GUID)。所以我的问题是:我怎么做到这一点?任何代码片段都将受到赞赏。
答案 0 :(得分:0)
我认为您应该阅读Windows便携设备指南:https://msdn.microsoft.com/en-us/library/windows/desktop/dd389005(v=vs.85).aspx 至于这项任务是常见的,这里描述的类似任务: https://msdn.microsoft.com/en-us/library/windows/desktop/dd319330(v=vs.85).aspx 并且有一个示例解决方案,您可以尝试编译和调试: https://code.msdn.microsoft.com/windowsdesktop/Portable-Devices-COM-API-fd4a5f7d
很快,您必须创建IPortableDeviceContent对象,然后从其中调用EnumObjects方法,其ID为WPD_DEVICE_OBJECT_ID(它是当前设备的ROOT的宏)。
您将以这种方式获取对象ID,然后您必须迭代它们并通过id请求每个对象的属性(在您的情况下为WPD_OBJECT_CONTENT_TYPE)。
具有WPD_OBJECT_CONTENT_TYPE == WPD_CONTENT_TYPE_FOLDER的对象是文件夹。