Freigeben über


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

  1. Starten Sie PowerShell oder SSH, und greifen Sie auf Ihr Gerät zu, auf dem Windows 10 IoT Core ausgeführt wird.
  2. Gehen Sie über PowerShell oder SSH wie folgt vor:
    1. Erstellen Sie einen temporären Ordner auf dem Zielcomputer (z. B. C:\MTPTemp).
    2. 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) auf 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. 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
  3. 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:

  1. Fügen Sie unter HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurationseinen neuen Schlüssel hinzu. Beispiel: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\MyConfiguration.
  2. Erstellen Sie unter dem neuen Schlüssel einen REG_MULTI_SZ Wert InterfaceList , der gleich ist MTP.
  3. Erstellen Sie unter demselben Schlüssel einen REG_BINARY Wert MSOSCompatIdDescriptor gleich 2800000000010400010000000000000000014D545000000000000000000000000000000000000000.
  4. Fügen Sie unter HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN einen neuen REG_SZ Wert CurrentConfiguration hinzu, der dem Namen des neu erstellten Schlüssels entspricht. In diesem Fall ist dies MyConfiguration.
  5. [Optional] Fügen Sie unter HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN einen neuen REG_DWORD Wert IncludeDefaultCfg 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:

  1. Suchen Sie die aktuelle Konfiguration, indem Sie den CurrentConfiguration Wert unter HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFNüberprüfen. Wenn der Wert vorhanden ist, finden Sie die aktuelle Konfiguration unter HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\[CurrentConfiguration]. Andernfalls befindet er sich unter HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\Default.
  2. Fügen Sie unter dem aktuellen Konfigurationsschlüssel dem Wert von InterfaceListhinzu\0MTP. Der Teil \0 wird als Typ von InterfaceListREG_MULTI_SZ verwendet und erfordert dieses Trennzeichen zwischen Werten.
  3. Ä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 dem InterfaceList 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

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