미디어 전송 프로토콜
MTP(미디어 전송 프로토콜)를 사용하면 USB를 통해 Windows 10 IoT Core 디바이스 간 파일을 전송할 수 있습니다. 디바이스의 내부 스토리지 및 SD 카드 액세스할 수 있습니다(있는 경우).
이 기능은 Windows 10 IoT Core 패키지에서 다운로드하고 설치할 수 있는 IoT Core 키트의 일부입니다.
Windows 10 IoT Core 실행하는 디바이스에 MTP 기능을 설치하는 방법
필수 패키지로 디바이스 프로비전
- PowerShell 또는 SSH를 시작하고 Windows 10 IoT Core 실행하는 디바이스에 액세스합니다.
- PowerShell 또는 SSH에서 다음을 수행합니다.
- 대상 컴퓨터에 임시 폴더를 만듭니다(예:
C:\MTPTemp
). - 디바이스의 아키텍처에 따라 PC(
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로 돌아오면 MTP를 포함하도록 USBFN 구성을 업데이트해야 합니다. 이렇게 하려면 USBFN으로 열거된 인터페이스에 MTP를 추가해야 합니다. USB 레지스트리 설정 문서에서는 USB 구성에 대한 세부 정보를 설명합니다.
키에서 사용할 수 있는 기본 USBFN 구성을 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\Default
수정할 수 있지만 시스템 업데이트로 덮어쓰지 않으므로 사용자 고유의 구성을 정의하는 것이 좋습니다.
MTP 인터페이스를 사용하여 새 USBFN 구성 만들기
MTP를 사용하여 새 구성을 추가하려면 다음 단계를 수행합니다.
- 아래에 새 키를 추가합니다
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations
. 예:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN\Configurations\MyConfiguration
. - 새 키 아래에서 와 같은 값을
InterfaceList
만듭니REG_MULTI_SZ
다MTP
. - 동일한 키 아래에 와 같은 값을
MSOSCompatIdDescriptor
만듭니REG_BINARY
다2800000000010400010000000000000000014D545000000000000000000000000000000000000000
. - 아래에서
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 인터페이스 추가
기존 USBFN 구성에 MTP를 추가하려면 다음 단계를 수행합니다.
- 에서 값을 확인하여 현재 구성을
CurrentConfiguration
찾습니다HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\USBFN
. 값이 있으면 에서 현재 구성을 찾을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
형식으로 사용되며 값 간에 이 구분 기호가 필요합니다. - MTP의
MSOSCompatIdDescriptor
설명자를 포함하도록 값을 수정합니다. 현재 값 아래에InterfaceList
있는 모든 인터페이스를 포함하는 유효한 설명자를 만들려면 이 페이지 아래쪽에서 사용할 수 있는 지침 설명서를 따르세요. OS_Desc_CompatID.doc 설명자의 형식에 대한 설명과 설명자에 여러 인터페이스를 포함하는 예제를 제공합니다. MTP의 호환 및 하위 호환 ID도 동일한 페이지에서 사용할 수 있으며 예제 중 하나에서 사용됩니다.
사용자 지정 FFU에 MTP를 포함하는 방법
- OEM 입력 파일에 IOT_MTP 기능 ID를 추가합니다. 이는 "필수 패키지로 디바이스 프로비전" 섹션의 단계를 따르는 것과 같습니다.
- "MTP 인터페이스를 사용하여 새 USBFN 구성 만들기" 섹션에 설명된 것과 동일한 레지스트리 변경 내용을 적용해야 합니다. 다음 지침에 따라 FFU에 레지스트리 변경 내용을 적용하는 방법을 알아봅니다.
- image\FFU를 만듭니다. 지침은 이 문서를 참조하세요.
경고
기본 구성 수정은 FFU 사용자 지정을 통해 시도해서는 안 됩니다. 시스템 업데이트에 의해 시스템 정의 항목을 새로 고치고 변경할 수 있으며 사용자 지정 설정이 손실됩니다.
MTP 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 카드 열거되지 않을 수 있습니다.
특정 레지스트리 항목을 사용하여 이미지를 사용자 지정하는 방법에 대한 자세한 내용은 이 링크를 참조하세요.