Compartir a través de


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

  1. Inicie PowerShell o SSH y acceda al dispositivo que ejecuta Windows 10 IoT Core.
  2. Desde PowerShell o SSH, haga lo siguiente:
    1. Cree una carpeta temporal en el equipo de destino (por ejemplo, C:\MTPTemp).
    2. 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) en 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
    3. 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
  3. 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:

  1. Agregue una nueva clave en HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations. Ejemplo: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\MyConfiguration.
  2. En la nueva clave, cree un REG_MULTI_SZ valor InterfaceList igual a MTP.
  3. En la misma clave, cree un REG_BINARY valor MSOSCompatIdDescriptor igual a 2800000000010400010000000000000000014D545000000000000000000000000000000000000000.
  4. En HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN Agregar un nuevo REG_SZ valor CurrentConfiguration igual al nombre de la clave recién creada. En este caso, MyConfiguration.
  5. [Opcional] En HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN Agregar un nuevo REG_DWORD valor IncludeDefaultCfg 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:

  1. Busque la configuración actual comprobando el CurrentConfiguration valor en HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN. Si el valor está presente, la configuración actual se puede encontrar en HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\[CurrentConfiguration]. De lo contrario, está en HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\Default.
  2. En la clave de configuración actual, agregue \0MTP al valor de InterfaceList. La parte \0 se usa como el tipo de InterfaceList es REG_MULTI_SZ y requiere este separador entre valores.
  3. Modifique el MSOSCompatIdDescriptor valor para incluir el descriptor del MTP. Para crear un descriptor válido que contenga todas las interfaces actualmente con el InterfaceList 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

  1. 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".
  2. 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.
  3. 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\MTPdel 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.