Protocole de transfert multimédia
Le protocole MTP (Media Transfer Protocol) vous permet de transférer des fichiers vers et depuis votre appareil Windows 10 IoT Standard via USB. Il permet d’accéder au stockage interne de l’appareil et au carte SD, le cas échéant.
La fonctionnalité fait partie des kits IoT Core, qui peuvent être téléchargés et installés à partir des packages Windows 10 IoT Standard.
Comment installer la fonctionnalité MTP sur un appareil exécutant Windows 10 IoT Standard
Provisionnement de l’appareil avec les packages requis
- Lancez PowerShell ou SSH et accédez à votre appareil exécutant Windows 10 IoT Standard.
- À partir de PowerShell ou SSH, procédez comme suit :
- Créez un dossier temporaire sur l’ordinateur cible (par exemple
C:\MTPTemp
). - En fonction de l’architecture de votre appareil, copiez les packages suivants à partir de votre PC (
C:\Program Files (x86)\Windows Kits\10\MSPackages\Retail\<arch>\fre
) dansC:\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
- Exécutez ces commandes à partir de
C:\MTPTemp
pour installer les packages sur l’image système de votre appareil 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
- Créez un dossier temporaire sur l’ordinateur cible (par exemple
- L’appareil démarre sur le système d’exploitation De mise à jour, installe la fonctionnalité MTP et redémarre sur MainOS.
Activation de l’interface USB MTP
Une fois que l’appareil revient à MainOS, la configuration USBFN doit toujours être mise à jour pour inclure MTP. Pour ce faire, vous devez ajouter MTP aux interfaces énumérées par USBFN. L’article paramètres du registre USB explique les détails de la configuration d’USB.
Bien que vous puissiez modifier la configuration USBFN par défaut disponible sous la HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\Default
clé, il est recommandé de définir la vôtre, car elles ne seront pas remplacées par les mises à jour système.
Création d’une configuration USBFN avec l’interface MTP
Pour ajouter une nouvelle configuration avec MTP, procédez comme suit :
- Ajoutez une nouvelle clé sous
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations
. Exemple :HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\MyConfiguration
. - Sous la nouvelle clé, créez une
REG_MULTI_SZ
valeurInterfaceList
égale àMTP
. - Sous la même clé, créez une
REG_BINARY
valeurMSOSCompatIdDescriptor
égale à2800000000010400010000000000000000014D545000000000000000000000000000000000000000
. - Sous,
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN
ajoutez une nouvelleREG_SZ
valeurCurrentConfiguration
égale au nom de la clé nouvellement créée. Dans cet exemple, il s’agit deMyConfiguration
. - [Facultatif] Sous
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN
, ajoutez une nouvelleREG_DWORD
valeurIncludeDefaultCfg
égale à 1. Cela permet au pilote USB d’énumérer les interfaces par défaut avec MTP.
Notes
Si vous utilisez déjà une configuration personnalisée, vous devrez la modifier au lieu d’en créer une nouvelle.
Ajout de l’interface MTP à une configuration existante
Pour ajouter MTP à une configuration USBFN existante, procédez comme suit :
- Recherchez la configuration actuelle en vérifiant la
CurrentConfiguration
valeur sousHKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN
. Si la valeur est présente, la configuration actuelle se trouve sousHKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\[CurrentConfiguration]
. Sinon, il se trouve sousHKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\Default
. - Sous la clé de configuration actuelle, ajoutez
\0MTP
à la valeur deInterfaceList
. La partie \0 est utilisée comme type deInterfaceList
REG_MULTI_SZ
et nécessite ce séparateur entre les valeurs. - Modifiez la
MSOSCompatIdDescriptor
valeur pour inclure le descripteur MTP. Pour créer un descripteur valide contenant toutes les interfaces actuellement sous laInterfaceList
valeur , suivez la documentation des instructions disponible en bas de cette page. OS_Desc_CompatID.doc donne une explication du format du descripteur et un exemple d’inclusion de plusieurs interfaces dans le descripteur. Les ID compatibles et sous-compatibles de MTP sont également disponibles sur la même page et sont utilisés dans l’un des exemples.
Comment inclure MTP dans votre FFU personnalisé
- Ajoutez IOT_MTP’ID de fonctionnalité au fichier d’entrée OEM. Cela revient à suivre les étapes de la section « Provisionnement de l’appareil avec les packages requis ».
- Veillez à appliquer les mêmes modifications de Registre que celles mentionnées dans la section « Création d’une configuration USBFN avec l’interface MTP ». Suivez ces instructions pour savoir comment appliquer des modifications de Registre à un FFU.
- Créez l’image\FFU. Lisez cet article pour obtenir des instructions.
Avertissement
La modification de la configuration par défaut ne doit pas être tentée par le biais de la personnalisation FFU. Les entrées définies par le système peuvent être actualisées/modifiées par une mise à jour du système et tous les paramètres personnalisés seront perdus.
Comment configurer le filtre de carte SD MTP
Par défaut, MTP énumère tout le contenu d’un carte SD, s’il est présent sur l’appareil. Toutefois, il est possible de limiter cette énumération à un sous-dossier spécifique. Pour ce faire, vous devez ajouter une valeur MTPSDFolderFilter
de Registre sous la clé HKEY_LOCAL_MACHINE\Software\Microsoft\MTP
de Registre .
La valeur est de type REG_SZ
et doit contenir un chemin d’accès relatif au dossier que vous souhaitez énumérer par MTP. Le dossier est automatiquement créé s’il n’existe pas déjà.
Exemples de chemins d’accès :
- \FirstLevelDirectory;
- FirstLevelDirectory ;
- \FirstLevelDirectory\SecondLevelDirectory;
- Never\Before\Created\Directory.
Avertissement
N’utilisez pas de chemin d’accès absolu contenant la lettre de lecteur comme C:\Some\Folder\Path
: cela peut empêcher l’énumération des carte SD.
Pour plus d’informations sur la personnalisation de votre image avec des entrées de Registre spécifiques, consultez ce lien .