C++ 通过WPD访问MTP供应商扩展属性
我正在使用Windows便携式设备API访问一些MTP设备。我想从设备读取供应商扩展属性,它应该如下所示: “microsoft.com/WPDNA”或“microsoft.com/MTPZ” 看起来这应该是一个相当简单的任务,但我无法理解 我已经能够枚举设备上的对象和传输文件等,这是包含在C++ 通过WPD访问MTP供应商扩展属性,c++,mtp,wpd,C++,Mtp,Wpd,我正在使用Windows便携式设备API访问一些MTP设备。我想从设备读取供应商扩展属性,它应该如下所示: “microsoft.com/WPDNA”或“microsoft.com/MTPZ” 看起来这应该是一个相当简单的任务,但我无法理解 我已经能够枚举设备上的对象和传输文件等,这是包含在 我还发现,我认为这是我想做的。但是我不知道如何创建这些查询。不必深入代码,简单的答案是扫描一系列PID以查找给定的FormatID,以查看其中包含哪些类型的数据。这是一个调试练习,仅用于发现目的。我基本上只
我还发现,我认为这是我想做的。但是我不知道如何创建这些查询。不必深入代码,简单的答案是扫描一系列PID以查找给定的FormatID,以查看其中包含哪些类型的数据。这是一个调试练习,仅用于发现目的。我基本上只是写一个循环:例如,如果我想扫描基本扩展属性下的前16个PID,你可以使用
WPD\u properties\u MTP\u VENDOR\u extended\u DEVICE\u PROPS
作为FormatID,然后在每次迭代中更改PID,并通过0xD10F
扫描值0xD101
。您通常可以从输出中判断PID位置中可能包含的内容
一旦知道所需数据片段的PID,就可以将其作为枚举例程的一部分写入代码中