【发布时间】:2017-08-21 11:35:05
【问题描述】:
我想从 WPD API 获取 MTP USB 设备的所有根目录(我可以将它们识别为 GUID)。所以我的问题是:我怎么能做到这一点?任何代码 sn-ps 将不胜感激。
【问题讨论】:
标签: windows winapi usb mtp wpd
我想从 WPD API 获取 MTP USB 设备的所有根目录(我可以将它们识别为 GUID)。所以我的问题是:我怎么能做到这一点?任何代码 sn-ps 将不胜感激。
【问题讨论】:
标签: windows winapi usb mtp wpd
我相信您应该阅读 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 对象,然后使用 id WPD_DEVICE_OBJECT_ID 调用 EnumObjects 方法(它是当前设备的 ROOT 宏)。
您将通过这种方式获取对象 id,然后您必须遍历它们并通过 id 请求每个对象的属性(在您的情况下为 WPD_OBJECT_CONTENT_TYPE)。
具有 WPD_OBJECT_CONTENT_TYPE == WPD_CONTENT_TYPE_FOLDER 的对象是文件夹。
【讨论】: