Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/130.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 通过WPD访问MTP供应商扩展属性_C++_Mtp_Wpd - Fatal编程技术网

C++ 通过WPD访问MTP供应商扩展属性

C++ 通过WPD访问MTP供应商扩展属性,c++,mtp,wpd,C++,Mtp,Wpd,我正在使用Windows便携式设备API访问一些MTP设备。我想从设备读取供应商扩展属性,它应该如下所示: “microsoft.com/WPDNA”或“microsoft.com/MTPZ” 看起来这应该是一个相当简单的任务,但我无法理解 我已经能够枚举设备上的对象和传输文件等,这是包含在 我还发现,我认为这是我想做的。但是我不知道如何创建这些查询。不必深入代码,简单的答案是扫描一系列PID以查找给定的FormatID,以查看其中包含哪些类型的数据。这是一个调试练习,仅用于发现目的。我基本上只

我正在使用Windows便携式设备API访问一些MTP设备。我想从设备读取供应商扩展属性,它应该如下所示:

“microsoft.com/WPDNA”或“microsoft.com/MTPZ”

看起来这应该是一个相当简单的任务,但我无法理解

我已经能够枚举设备上的对象和传输文件等,这是包含在


我还发现,我认为这是我想做的。但是我不知道如何创建这些查询。

不必深入代码,简单的答案是扫描一系列PID以查找给定的FormatID,以查看其中包含哪些类型的数据。这是一个调试练习,仅用于发现目的。我基本上只是写一个循环:例如,如果我想扫描基本扩展属性下的前16个PID,你可以使用
WPD\u properties\u MTP\u VENDOR\u extended\u DEVICE\u PROPS
作为FormatID,然后在每次迭代中更改PID,并通过
0xD10F
扫描值
0xD101
。您通常可以从输出中判断PID位置中可能包含的内容

一旦知道所需数据片段的PID,就可以将其作为枚举例程的一部分写入代码中