通过 WPD 访问 MTP 供应商扩展属性
Accessing MTP vendor extended properties through WPD
我正在使用Windows Portable Device API访问一些MTP设备。我想从设备读取供应商扩展属性,它应该看起来像这样:
"microsoft.com/WPDNA"或"microsoft.com/MTPZ"
似乎这应该是一项非常简单的任务,但我无法弄清楚。
我已经能够枚举设备上的对象并传输文件等,这包含在 WpdApiSample 应用程序中。
我也找到了这篇文章,我认为这是我想做的。但是我不明白如何创建这些查询。
在不涉及代码的情况下,简短的答案是扫描一系列PID以查找给定的FormatID,以查看其中的数据类型。这是一个调试练习,仅用于发现目的。我基本上只是写一个循环:例如,如果我想扫描基本扩展属性下的前 16 个 PID,您可以将WPD_PROPERTIES_MTP_VENDOR_EXTENDED_DEVICE_PROPS
用作 FormatID,然后对于 PID,在每次迭代时更改它并扫描0xD101
0xD10F
的值。您通常可以从输出中判断该 PID 位置可能包含的内容。
知道所需数据片段的 PID 后,可以将其作为枚举例程的一部分写入代码中。
相关文章:
- 如何导出包含具有"std::unique_ptr"值的"std::map"属性的
- 是否可以通过C++扩展强制多个python进程共享同一内存
- static_assert在宏中,但也可以扩展到可以用作函数参数的东西
- C++概念:如何使用'concept'检查模板化结构的属性?
- 子目录是否继承属性,例如add_definitions,include_directories和父Cmakelist.t
- 如何将这个C++哈希表转换为动态扩展和收缩,而不是使用硬设置的最大值
- 通过指向指针数组的指针访问子类的属性
- 扩展光电二极管探测器以支持多个传感器
- MSVC是否支持C++11样式的属性而不是__declspec
- QML:修改在不同QML文件(而非main.QML)中定义的子对象的属性
- 如何在Windows中创建扩展(自定义)文件属性
- 通过 WPD 访问 MTP 供应商扩展属性
- 系统文件,读写创建自定义元数据或扩展属性
- C++的下一个版本是否有可能具有Microsoft的属性扩展?
- 禁用设置python扩展对象的属性
- Cython扩展类型属性误解
- 如何在用户模式应用程序C++中访问AVStream扩展相机控制属性
- 如何重载其参数仅由gcc矢量扩展vector_size属性不同的函数
- 如何通过使用swig (Python)添加新属性来扩展c++类
- 窗口上的扩展文件属性(ntfs)