Medienübertragungsprotokoll
Mit dem Media Transfer Protocol (MTP) können Sie Dateien über USB auf und von Ihrem Windows 10 IoT Core Gerät übertragen. Es ermöglicht den Zugriff auf den internen Speicher des Geräts und die SD-Karte, falls vorhanden.
Das Feature ist Teil der IoT Core Kits, die aus dem Windows 10 IoT Core Packages heruntergeladen und installiert werden können.
Installieren des MTP-Features auf einem Gerät, auf dem Windows 10 IoT Core
Bereitstellen des Geräts mit erforderlichen Paketen
- Starten Sie PowerShell oder SSH, und greifen Sie auf Ihr Gerät zu, auf dem Windows 10 IoT Core ausgeführt wird.
- Gehen Sie über PowerShell oder SSH wie folgt vor:
- Erstellen Sie einen temporären Ordner auf dem Zielcomputer (z. B.
C:\MTPTemp
). - Kopieren Sie basierend auf der Architektur Ihres Geräts die folgenden Pakete von Ihrem PC (
C:\Program Files (x86)\Windows Kits\10\MSPackages\Retail\<arch>\fre
) aufC:\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
- Führen Sie die folgenden Befehle aus,
C:\MTPTemp
um die Pakete im Systemimage Ihres IoT-Geräts zu installieren: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
- Erstellen Sie einen temporären Ordner auf dem Zielcomputer (z. B.
- Das Gerät startet mit dem Updatebetriebssystem, installiert das MTP-Feature und startet mit MainOS neu.
Aktivieren der MTP-USB-Schnittstelle
Sobald das Gerät auf MainOS zurückkommt, muss die USBFN-Konfiguration noch aktualisiert werden, um MTP einzuschließen. Dazu müssen Sie den von USBFN aufgezählten Schnittstellen MTP hinzufügen. Im Artikel USB-Registrierungseinstellungen werden die Details zur USB-Konfiguration erläutert.
Sie können zwar die unter dem HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\Default
Schlüssel verfügbare USBFN-Standardkonfiguration ändern, es wird jedoch empfohlen, ihre eigene zu definieren, da sie nicht durch Systemupdates überschrieben werden.
Erstellen einer neuen USBFN-Konfiguration mit der MTP-Schnittstelle
Führen Sie die folgenden Schritte aus, um eine neue Konfiguration mit MTP hinzuzufügen:
- Fügen Sie unter
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations
einen neuen Schlüssel hinzu. Beispiel:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\MyConfiguration
. - Erstellen Sie unter dem neuen Schlüssel einen
REG_MULTI_SZ
WertInterfaceList
, der gleich istMTP
. - Erstellen Sie unter demselben Schlüssel einen
REG_BINARY
WertMSOSCompatIdDescriptor
gleich2800000000010400010000000000000000014D545000000000000000000000000000000000000000
. - Fügen Sie unter
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN
einen neuenREG_SZ
WertCurrentConfiguration
hinzu, der dem Namen des neu erstellten Schlüssels entspricht. In diesem Fall ist diesMyConfiguration
. - [Optional] Fügen Sie unter
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN
einen neuenREG_DWORD
WertIncludeDefaultCfg
hinzu, der gleich 1 ist. Dadurch werden vom USB-Treiber die Standardschnittstellen zusammen mit MTP aufgelistet.
Hinweis
Wenn Sie bereits eine benutzerdefinierte Konfiguration verwenden, müssen Sie sie ändern, anstatt eine neue konfiguration zu erstellen.
Hinzufügen der MTP-Schnittstelle zu einer vorhandenen Konfiguration
Führen Sie die folgenden Schritte aus, um MTP zu einer vorhandenen USBFN-Konfiguration hinzuzufügen:
- Suchen Sie die aktuelle Konfiguration, indem Sie den
CurrentConfiguration
Wert unterHKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN
überprüfen. Wenn der Wert vorhanden ist, finden Sie die aktuelle Konfiguration unterHKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\[CurrentConfiguration]
. Andernfalls befindet er sich unterHKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\Default
. - Fügen Sie unter dem aktuellen Konfigurationsschlüssel dem Wert von
InterfaceList
hinzu\0MTP
. Der Teil \0 wird als Typ vonInterfaceList
REG_MULTI_SZ
verwendet und erfordert dieses Trennzeichen zwischen Werten. - Ändern Sie den
MSOSCompatIdDescriptor
Wert so, dass er den MTP-Deskriptor enthält. Um einen gültigen Deskriptor zu erstellen, der alle Schnittstellen enthält, die sich derzeit unter demInterfaceList
Wert befinden, befolgen Sie die Anleitungsdokumentation unten auf dieser Seite. OS_Desc_CompatID.doc enthält eine Erläuterung des Formats des Deskriptors und ein Beispiel für das Einschließen mehrerer Schnittstellen in den Deskriptor. Die kompatiblen und unterkompatiblen IDs von MTP sind ebenfalls auf derselben Seite verfügbar und werden in einem der Beispiele verwendet.
Einschließen von MTP in Ihre benutzerdefinierte FFU
- Fügen Sie der OEM-Eingabedatei IOT_MTP Feature-ID hinzu. Dies entspricht der Ausführung der Schritte im Abschnitt "Bereitstellen des Geräts mit erforderlichen Paketen".
- Stellen Sie sicher, dass Sie dieselben Registrierungsänderungen anwenden, die im Abschnitt "Erstellen einer neuen USBFN-Konfiguration mit der MTP-Schnittstelle" erwähnt werden. Befolgen Sie diese Anweisungen , um zu erfahren, wie Sie Registrierungsänderungen auf eine FFU anwenden.
- Erstellen Sie das Image\FFU. Anweisungen finden Sie in diesem Artikel .
Warnung
Das Ändern der Standardkonfiguration sollte nicht über die FFU-Anpassung versucht werden. Systemdefinierte Einträge können durch ein Systemupdate aktualisiert/geändert werden, und alle benutzerdefinierten Einstellungen gehen verloren.
Einrichten des MTP SD-Karte-Filters
Standardmäßig listet MTP den gesamten Inhalt eines SD-Karte auf, wenn er auf dem Gerät vorhanden ist. Es ist jedoch möglich, diese Enumeration auf einen bestimmten Unterordner zu beschränken. Dazu müssen Sie einen Registrierungswert MTPSDFolderFilter
unter dem Registrierungsschlüssel HKEY_LOCAL_MACHINE\Software\Microsoft\MTP
hinzufügen.
Der Wert ist vom Typ REG_SZ
und sollte einen relativen Pfad zu dem Ordner enthalten, den MTP aufzählen soll. Der Ordner wird automatisch erstellt, wenn er noch nicht vorhanden ist.
Beispielpfade:
- \FirstLevelDirectory;
- FirstLevelDirectory;
- \FirstLevelDirectory\SecondLevelDirectory;
- Never\Before\Created\Directory.
Warnung
Verwenden Sie keinen absoluten Pfad, der den Laufwerkbuchstaben wie C:\Some\Folder\Path
enthält. Dadurch kann verhindert werden, dass die SD-Karte aufgezählt wird.
Weitere Informationen zum Anpassen Ihres Images mit bestimmten Registrierungseinträgen finden Sie unter diesem Link .