Я использую 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 для нужных вам фрагментов данных, вы можете записать их в свой код как часть процедуры перечисления.
Других решений пока нет …