Condividi tramite


Protocollo di trasferimento multimediale

Il protocollo MTP (Media Transfer Protocol) consente di trasferire file da e verso il dispositivo Windows 10 IoT Core tramite USB. Consente l'accesso all'archiviazione interna del dispositivo e alla scheda SD, se presente.

La funzionalità fa parte dei Kit IoT Core, che possono essere scaricati e installati dai pacchetti Windows 10 IoT Core.

Come installare la funzionalità MTP in un dispositivo che esegue Windows 10 IoT Core

Provisioning del dispositivo con pacchetti necessari

  1. Avviare PowerShell o SSH e accedere al dispositivo che esegue Windows 10 IoT Core.
  2. Da PowerShell o SSH eseguire le operazioni seguenti:
    1. Creare una cartella temporanea nel computer di destinazione , ad esempio C:\MTPTemp.
    2. In base all'architettura del dispositivo, copiare i pacchetti seguenti dal PC (C:\Program Files (x86)\Windows Kits\10\MSPackages\Retail\<arch>\fre) a 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. Eseguire questi comandi da C:\MTPTemp per installare i pacchetti nell'immagine di 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. Il dispositivo verrà avviato nel sistema operativo di aggiornamento, installare la funzionalità MTP e riavviare mainOS.

Abilitazione dell'interfaccia USB MTP

Una volta che il dispositivo torna al MainOS, la configurazione USBFN deve comunque essere aggiornata per includere MTP. A tale scopo, è necessario aggiungere MTP alle interfacce enumerate da USBFN. L'articolo impostazioni del Registro di sistema USB illustra i dettagli della configurazione di USB.

Anche se è possibile modificare la configurazione USBFN predefinita disponibile sotto la HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\Default chiave, è consigliabile definire il proprio, perché non verranno sovrascritti dagli aggiornamenti del sistema.

Creazione di una nuova configurazione USBFN con l'interfaccia MTP

Seguire questa procedura per aggiungere una nuova configurazione con MTP:

  1. Aggiungere una nuova chiave in HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations. Esempio: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\MyConfiguration.
  2. Nella nuova chiave creare un REG_MULTI_SZ valore InterfaceList uguale a MTP.
  3. Nella stessa chiave creare un REG_BINARY valore MSOSCompatIdDescriptor uguale a 2800000000010400010000000000000000014D545000000000000000000000000000000000000000.
  4. In HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN aggiungere un nuovo REG_SZ valore CurrentConfiguration uguale al nome della chiave appena creata. In questo caso, sarebbe MyConfiguration.
  5. [Facoltativo] In HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN aggiungere un nuovo REG_DWORD valore IncludeDefaultCfg uguale a 1. In questo modo il driver USB enumera le interfacce predefinite insieme a MTP.

Nota

Se si usa già una configurazione personalizzata, è necessario modificarla anziché crearne una nuova.

Aggiunta dell'interfaccia MTP a una configurazione esistente

Seguire questa procedura per aggiungere MTP a una configurazione USBFN esistente:

  1. Trovare la configurazione corrente controllando il CurrentConfiguration valore in HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN. Se il valore è presente, la configurazione corrente è disponibile in HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\[CurrentConfiguration]. In caso contrario, è in HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\Default.
  2. Nella chiave di configurazione corrente aggiungere \0MTP al valore di InterfaceList. La parte \0 viene usata come tipo di InterfaceList è REG_MULTI_SZ e richiede questo separatore tra i valori.
  3. Modificare il valore per includere il MSOSCompatIdDescriptor descrittore di MTP. Per creare un descrittore valido contenente tutte le interfacce attualmente sotto il InterfaceList valore, seguire la documentazione delle istruzioni disponibili nella parte inferiore di questa pagina. OS_Desc_CompatID.doc fornisce una spiegazione del formato del descrittore e un esempio di inclusione di più interfacce nel descrittore. Gli ID compatibili e subcompatibili di MTP sono disponibili anche nella stessa pagina e vengono usati in uno degli esempi.

Come includere MTP nel FFU personalizzato

  1. Aggiungere IOT_MTP ID funzionalità al file di input OEM. Si tratta di un equivalente dei passaggi descritti nella sezione "Provisioning del dispositivo con i pacchetti obbligatori".
  2. Assicurarsi di applicare le stesse modifiche del Registro di sistema indicate nella sezione "Creazione di una nuova configurazione USBFN con l'interfaccia MTP". Seguire queste istruzioni per informazioni su come applicare le modifiche del Registro di sistema a un FFU.
  3. Creare l'immagine\FFU. Per istruzioni, leggere questo articolo .

Avviso

La modifica della configurazione predefinita non deve essere tentata tramite la personalizzazione FFU. Le voci definite dal sistema possono essere aggiornate o modificate da un aggiornamento di sistema e tutte le impostazioni personalizzate verranno perse.

Come configurare il filtro della scheda SD MTP

Per impostazione predefinita, MTP enumera tutto il contenuto di una scheda SD, se presente nel dispositivo. È tuttavia possibile limitare questa enumerazione a una sottocartella specifica. Per farlo, è necessario aggiungere un valore MTPSDFolderFilter del Registro di sistema nella chiave HKEY_LOCAL_MACHINE\Software\Microsoft\MTPdel Registro di sistema . Il valore è di tipo REG_SZ e deve contenere un percorso relativo alla cartella da enumerare MTP. La cartella verrà creata automaticamente se non esiste già.

Percorsi di esempio:

  • \FirstLevelDirectory;
  • FirstLevelDirectory;
  • \FirstLevelDirectory\SecondLevelDirectory;
  • Mai\Prima\Create\Directory.

Avviso

Non usare un percorso assoluto contenente la lettera di unità, ad C:\Some\Folder\Path esempio, in questo modo potrebbe impedire l'enumerazione della scheda SD.

Per informazioni dettagliate sulla personalizzazione dell'immagine con voci specifiche del Registro di sistema, vedere questo collegamento .