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
- Avviare PowerShell o SSH e accedere al dispositivo che esegue Windows 10 IoT Core.
- Da PowerShell o SSH eseguire le operazioni seguenti:
- Creare una cartella temporanea nel computer di destinazione , ad esempio
C:\MTPTemp
. - In base all'architettura del dispositivo, copiare i pacchetti seguenti dal PC (
C:\Program Files (x86)\Windows Kits\10\MSPackages\Retail\<arch>\fre
) aC:\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
- 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
- Creare una cartella temporanea nel computer di destinazione , ad esempio
- 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:
- Aggiungere una nuova chiave in
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations
. Esempio:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\MyConfiguration
. - Nella nuova chiave creare un
REG_MULTI_SZ
valoreInterfaceList
uguale aMTP
. - Nella stessa chiave creare un
REG_BINARY
valoreMSOSCompatIdDescriptor
uguale a2800000000010400010000000000000000014D545000000000000000000000000000000000000000
. - In
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN
aggiungere un nuovoREG_SZ
valoreCurrentConfiguration
uguale al nome della chiave appena creata. In questo caso, sarebbeMyConfiguration
. - [Facoltativo] In
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN
aggiungere un nuovoREG_DWORD
valoreIncludeDefaultCfg
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:
- Trovare la configurazione corrente controllando il
CurrentConfiguration
valore inHKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN
. Se il valore è presente, la configurazione corrente è disponibile inHKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\[CurrentConfiguration]
. In caso contrario, è inHKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\Default
. - Nella chiave di configurazione corrente aggiungere
\0MTP
al valore diInterfaceList
. La parte \0 viene usata come tipo diInterfaceList
èREG_MULTI_SZ
e richiede questo separatore tra i valori. - Modificare il valore per includere il
MSOSCompatIdDescriptor
descrittore di MTP. Per creare un descrittore valido contenente tutte le interfacce attualmente sotto ilInterfaceList
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
- 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".
- 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.
- 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\MTP
del 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 .