Protocolo de transferencia de medios
El Protocolo de transferencia de medios (MTP) permite transferir archivos hacia y desde el dispositivo Windows 10 IoT Core a través de USB. Permite el acceso al almacenamiento interno del dispositivo y a la tarjeta SD, si está presente.
La característica forma parte de los kits de IoT Core, que se pueden descargar e instalar desde los paquetes de Windows 10 IoT Core.
Cómo instalar la característica MTP en un dispositivo que ejecuta Windows 10 IoT Core
Aprovisionamiento del dispositivo con paquetes necesarios
- Inicie PowerShell o SSH y acceda al dispositivo que ejecuta Windows 10 IoT Core.
- Desde PowerShell o SSH, haga lo siguiente:
- Cree una carpeta temporal en el equipo de destino (por ejemplo,
C:\MTPTemp
). - En función de la arquitectura del dispositivo, copie los siguientes paquetes del equipo (
C:\Program Files (x86)\Windows Kits\10\MSPackages\Retail\<arch>\fre
) enC:\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
- Ejecute estos comandos desde
C:\MTPTemp
para instalar los paquetes en la imagen del sistema del dispositivo IoT: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
- Cree una carpeta temporal en el equipo de destino (por ejemplo,
- El dispositivo arrancará en el sistema operativo de actualización, instalará la característica MTP y se reiniciará en MainOS.
Habilitación de la interfaz USB MTP
Una vez que el dispositivo vuelva a MainOS, la configuración de USBFN todavía debe actualizarse para incluir MTP. Para ello, deberá agregar MTP a las interfaces enumeradas por USBFN. En el artículo Configuración del Registro USB se explican los detalles de la configuración del USB.
Aunque puede modificar la configuración predeterminada de USBFN disponible en la HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\Default
clave, se recomienda definir la suya propia, ya que no se sobrescribirán mediante las actualizaciones del sistema.
Creación de una nueva configuración de USBFN con la interfaz MTP
Siga estos pasos para agregar una nueva configuración con MTP:
- Agregue una nueva clave en
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations
. Ejemplo:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\MyConfiguration
. - En la nueva clave, cree un
REG_MULTI_SZ
valorInterfaceList
igual aMTP
. - En la misma clave, cree un
REG_BINARY
valorMSOSCompatIdDescriptor
igual a2800000000010400010000000000000000014D545000000000000000000000000000000000000000
. - En
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN
Agregar un nuevoREG_SZ
valorCurrentConfiguration
igual al nombre de la clave recién creada. En este caso,MyConfiguration
. - [Opcional] En
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN
Agregar un nuevoREG_DWORD
valorIncludeDefaultCfg
igual a 1. Esto hará que el controlador USB enumere las interfaces predeterminadas junto con MTP.
Nota
Si ya usa una configuración personalizada, tendrá que modificarla en lugar de crear una nueva.
Adición de la interfaz MTP a una configuración existente
Siga estos pasos para agregar MTP a una configuración de USBFN existente:
- Busque la configuración actual comprobando el
CurrentConfiguration
valor enHKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN
. Si el valor está presente, la configuración actual se puede encontrar enHKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\[CurrentConfiguration]
. De lo contrario, está enHKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\Default
. - En la clave de configuración actual, agregue
\0MTP
al valor deInterfaceList
. La parte \0 se usa como el tipo deInterfaceList
esREG_MULTI_SZ
y requiere este separador entre valores. - Modifique el
MSOSCompatIdDescriptor
valor para incluir el descriptor del MTP. Para crear un descriptor válido que contenga todas las interfaces actualmente con elInterfaceList
valor , siga la documentación de instrucciones disponible en la parte inferior de esta página. OS_Desc_CompatID.doc proporciona una explicación del formato del descriptor y un ejemplo de inclusión de varias interfaces en el descriptor. Los identificadores compatibles y subcompatibles de MTP también están disponibles en la misma página y se usan en uno de los ejemplos.
Cómo incluir MTP en la FFU personalizada
- Agregue IOT_MTP identificador de característica al archivo de entrada oem. Este es un equivalente a seguir los pasos de la sección "Aprovisionamiento del dispositivo con los paquetes necesarios".
- Asegúrese de aplicar los mismos cambios del Registro que se mencionan en la sección "Creación de una nueva configuración de USBFN con la interfaz MTP". Siga estas instrucciones para aprender a aplicar los cambios del Registro a una FFU.
- Cree la imagen\FFU. Lea este artículo para obtener instrucciones.
Advertencia
No se debe intentar modificar la configuración predeterminada a través de la personalización de FFU. Las entradas definidas por el sistema se pueden actualizar o cambiar mediante una actualización del sistema y se perderá cualquier configuración personalizada.
Cómo configurar el filtro de tarjeta SD de MTP
De forma predeterminada, MTP enumerará todo el contenido de una tarjeta SD, si está presente en el dispositivo. Sin embargo, es posible limitar esta enumeración a una subcarpeta específica. Para ello, debe agregar un valor MTPSDFolderFilter
del Registro bajo la clave HKEY_LOCAL_MACHINE\Software\Microsoft\MTP
del Registro .
El valor es de tipo REG_SZ
y debe contener una ruta de acceso relativa a la carpeta que desea que MTP enumere. La carpeta se creará automáticamente si aún no existe.
Rutas de acceso de ejemplo:
- \FirstLevelDirectory;
- FirstLevelDirectory;
- \FirstLevelDirectory\SecondLevelDirectory;
- Never\Before\Created\Directory.
Advertencia
No use una ruta de acceso absoluta que contenga la letra de unidad como C:\Some\Folder\Path
, lo que podría impedir que se enumerara la tarjeta SD.
Consulte este vínculo para obtener más información sobre cómo personalizar la imagen con entradas específicas del Registro.