Протокол передачи мультимедиа
Протокол передачи мультимедиа (MTP) позволяет передавать файлы на Windows 10 IoT Базовая устройство и с устройства через USB. Он обеспечивает доступ к внутреннему хранилищу устройства и карта SD, если таковой имеется.
Эта функция входит в состав основных наборов IoT, которые можно скачать и установить из Windows 10 IoT Базовая Пакетов.
Установка компонента MTP на устройстве под управлением Windows 10 IoT Базовая
Подготовка устройства с необходимыми пакетами
- Запустите PowerShell или SSH и получите доступ к устройству, на котором выполняется Windows 10 IoT Базовая.
- В PowerShell или SSH выполните следующие действия.
- Создайте временную папку на целевом компьютере (например,
C:\MTPTemp
). - В зависимости от архитектуры устройства скопируйте следующие пакеты с компьютера (
C:\Program Files (x86)\Windows Kits\10\MSPackages\Retail\<arch>\fre
) вC:\MTPTemp
:Microsoft-OneCoreUAP-Mtp-UserService-Package.cab
Microsoft-OneCoreUAP-Mtp-UserService-Package_Lang_en-US.cab
Microsoft-WindowsStorSvc-API-Schema-Extension-Package.cab
Microsoft-WindowsStorSvc-API-Schema-Extension-Package_Lang_en-US.cab
- Выполните следующие команды из
C:\MTPTemp
, чтобы установить пакеты в образ системы устройства Интернета вещей:ApplyUpdate.exe -stage Microsoft-OneCoreUAP-Mtp-UserService-Package.cab
ApplyUpdate.exe -stage Microsoft-OneCoreUAP-Mtp-UserService-Package_Lang_en-US.cab
ApplyUpdate.exe -stage Microsoft-WindowsStorSvc-API-Schema-Extension-Package.cab
ApplyUpdate.exe -stage Microsoft-WindowsStorSvc-API-Schema-Extension-Package_Lang_en-US.cab
ApplyUpdate.exe -commit
- Создайте временную папку на целевом компьютере (например,
- Устройство загрузится в ОС обновления, установит компонент MTP и перезагрузится в MainOS.
Включение USB-интерфейса MTP
После того как устройство вернется к MainOS, конфигурацию USBFN по-прежнему необходимо обновить, чтобы включить MTP. Для этого необходимо добавить MTP в интерфейсы, перечисленные в USBFN. Сведения о конфигурации USB описаны в статье о параметрах реестра USB .
Хотя вы можете изменить конфигурацию USBFN по умолчанию, доступную в HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\Default
ключе, рекомендуется определить собственную, так как они не будут перезаписаны обновлениями системы.
Создание конфигурации USBFN с помощью интерфейса MTP
Чтобы добавить новую конфигурацию с помощью MTP, выполните следующие действия.
- Добавьте новый ключ в .
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations
Например,HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\MyConfiguration
. - В новом ключе создайте значение
InterfaceList
, равное .MTP
REG_MULTI_SZ
- Под тем же ключом
REG_BINARY
создайте значениеMSOSCompatIdDescriptor
, равное2800000000010400010000000000000000014D545000000000000000000000000000000000000000
. - В разделе
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN
добавьте новоеREG_SZ
значениеCurrentConfiguration
, равное имени только что созданного ключа. В данном случае это числоMyConfiguration
. - [Необязательно] В разделе
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN
добавьте новоеREG_DWORD
значениеIncludeDefaultCfg
, равное 1. Это позволит USB-драйверу перечислить интерфейсы по умолчанию вместе с MTP.
Примечание
Если вы уже используете настраиваемую конфигурацию, ее придется изменить, а не создавать новую.
Добавление интерфейса MTP в существующую конфигурацию
Выполните следующие действия, чтобы добавить MTP в существующую конфигурацию USBFN:
- Найдите текущую конфигурацию, проверив значение в
CurrentConfiguration
разделеHKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN
. Если значение присутствует, текущую конфигурацию можно найти в разделеHKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\[CurrentConfiguration]
. В противном случае он находится в разделеHKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\Default
. - В текущем ключе конфигурации добавьте
\0MTP
к значениюInterfaceList
. Часть \0 используется в качестве типаInterfaceList
иREG_MULTI_SZ
требует этого разделителя между значениями. - Измените значение,
MSOSCompatIdDescriptor
включив дескриптор MTP. Чтобы создать допустимый дескриптор, содержащий все интерфейсы, которые в настоящее время находятся под значениемInterfaceList
, следуйте инструкциям в документации, доступной в нижней части этой страницы. OS_Desc_CompatID.doc приводит описание формата дескриптора и пример включения нескольких интерфейсов в дескриптор. Совместимые и субсовместимые идентификаторы MTP также доступны на той же странице и используются в одном из примеров.
Включение MTP в настраиваемый FFU
- Добавьте идентификатор компонента IOT_MTP в входной файл OEM. Это эквивалентно выполнению действий из раздела "Подготовка устройства с необходимыми пакетами".
- Обязательно примените те же изменения реестра, которые упоминались в разделе "Создание новой конфигурации USBFN с помощью интерфейса MTP". Следуйте этим инструкциям , чтобы узнать, как применить изменения реестра к FFU.
- Создайте образ\FFU. Инструкции см. в этой статье .
Предупреждение
Изменение конфигурации по умолчанию не должно выполняться с помощью настройки FFU. Системные записи могут быть обновлены или изменены обновлением системы, и все пользовательские параметры будут потеряны.
Настройка фильтра карта MTP SD
По умолчанию MTP перечисляет все содержимое SD-карта, если оно присутствует на устройстве. Однако это перечисление можно ограничить определенной вложенной папкой. Для этого необходимо добавить значение MTPSDFolderFilter
реестра в раздел HKEY_LOCAL_MACHINE\Software\Microsoft\MTP
реестра .
Значение имеет тип REG_SZ
и должно содержать относительный путь к папке, для перечисления в MTP. Папка будет создана автоматически, если она еще не существует.
Примеры путей:
- \FirstLevelDirectory;
- FirstLevelDirectory;
- \FirstLevelDirectory\SecondLevelDirectory;
- Never\Before\Created\Directory.
Предупреждение
Не используйте абсолютный путь, содержащий букву диска, например C:\Some\Folder\Path
. Это может помешать перечислению карта SD.
Дополнительные сведения о настройке образа с помощью определенных записей реестра см. по этой ссылке .