媒體傳輸通訊協定
媒體傳輸通訊協定 (MTP) 可讓您透過 USB 在Windows 10 IoT 核心版裝置上傳輸檔案。 如果存在,它允許存取裝置的內部儲存體和 SD 記憶卡。
此功能是 IoT 核心套件的一部分,可從Windows 10 IoT 核心版套件下載並安裝。
如何在執行 Windows 10 IoT 核心版 的裝置上安裝 MTP 功能
使用必要套件布建裝置
- 啟動PowerShell或SSH,並存取執行Windows 10 IoT 核心版的裝置。
- 從 PowerShell 或 SSH 執行下列動作:
- 在目的電腦上建立暫存資料夾 (例如
C:\MTPTemp
) 。 - 根據您裝置的架構,將下列套件從您的電腦複製到 (
C:\Program Files (x86)\Windows Kits\10\MSPackages\Retail\<arch>\fre
) :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
- 從
C:\MTPTemp
執行下列命令,將套件安裝到 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
- 在目的電腦上建立暫存資料夾 (例如
- 裝置會開機至更新 OS、安裝 MTP 功能,然後重新開機至 MainOS。
啟用 MTP USB 介面
一旦裝置回到 MainOS,USBFN 設定仍然需要更新以包含 MTP。 若要這樣做,您必須將 MTP 新增至 USBFN 列舉的介面。 USB 登錄設定一文說明 USB 組態的詳細資料。
雖然您可以修改金鑰下 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\Default
可用的預設 USBFN 組態,但建議您自行定義,因為系統更新不會覆寫它們。
使用 MTP 介面建立新的 USBFN 設定
請遵循下列步驟,使用 MTP 新增設定:
- 在 底下
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations
新增索引鍵。 範例:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\MyConfiguration
. - 在新索引鍵下,建立
REG_MULTI_SZ
等於MTP
的值InterfaceList
。 - 在相同的索引鍵下,建立
REG_BINARY
等於2800000000010400010000000000000000014D545000000000000000000000000000000000000000
的值MSOSCompatIdDescriptor
。 - 在 底下
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN
,加入等於新建立索引鍵名稱的新REG_SZ
值CurrentConfiguration
。 在此案例中,這將會是MyConfiguration
。 - [選擇性]在 底下
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN
,新增等於 1 的新REG_DWORD
值IncludeDefaultCfg
。 這會讓 USB 驅動程式列舉預設介面以及 MTP。
注意
如果您已經使用自訂群組態,則必須修改它,而不是建立新的組態。
將 MTP 介面新增至現有的組態
請遵循下列步驟,將 MTP 新增至現有的 USBFN 設定:
- 藉由檢查 下方
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN
的值來CurrentConfiguration
尋找目前的組態。 如果值存在,則可以在 下HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\[CurrentConfiguration]
找到目前的組態。 否則,它位於 底下HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\Default
。 - 在目前的組態索引鍵下,將 新增
\0MTP
至 的值InterfaceList
。 \0元件會當做 的型InterfaceList
REG_MULTI_SZ
別使用,而且它需要值之間的這個分隔符號。 MSOSCompatIdDescriptor
修改值以包含 MTP 的描述元。 若要建立包含目前值下InterfaceList
所有介面的有效描述元,請遵循 此頁面底部提供的指示檔。 OS_Desc_CompatID.doc 說明描述項的格式,以及描述項中包含多個介面的範例。 MTP 的相容和子相容識別碼也可以在相同的頁面上使用,並用於其中一個範例。
如何在您的自訂 FFU 中包含 MTP
- 將 IOT_MTP 功能識別碼新增至 OEM 輸入檔。 This is an equivalent of following the steps from the "Provisioning the device with required packages" section.
- Make sure to apply the same registry changes as mentioned in the "Creating a new USBFN configuration with the MTP interface" section. 請遵循 這些指示 ,瞭解如何將登錄變更套用至 FFU。
- 建立 image\FFU。 如需指示,請閱讀 這篇文章 。
警告
不應透過 FFU 自訂嘗試修改預設組態。 系統更新可能會重新整理/變更系統定義的專案,而且任何自訂設定都會遺失。
如何設定 MTP SD 記憶卡篩選
根據預設,如果 SD 記憶卡存在於裝置上,MTP 會列舉 SD 記憶卡的所有內容。 不過,可以將此列舉限制為特定的子資料夾。 若要這樣做,您必須在登錄機碼 HKEY_LOCAL_MACHINE\Software\Microsoft\MTP
底下新增登錄值 MTPSDFolderFilter
。
此值的類型為 , REG_SZ
而且應該包含您想要 MTP 列舉之資料夾的相對路徑。 如果資料夾不存在,則會自動建立資料夾。
範例路徑:
- \FirstLevelDirectory;
- FirstLevelDirectory;
- \FirstLevelDirectory\SecondLevelDirectory;
- Never\Before\Created\Directory。
警告
請勿使用包含磁碟機號的絕對路徑,這 C:\Some\Folder\Path
可能會導致 SD 記憶卡無法列舉。
如需使用特定登錄專案自訂映射的詳細資訊,請參閱 此連結 。