USB(유니버설 직렬 버스) 디바이스는 구성, 인터페이스, 대체 설정 및 엔드포인트를 통해 기능과 기능을 정의합니다. 이 항목에서는 이러한 개념에 대한 개략적인 개요를 제공합니다. 자세한 내용은 유니버설 직렬 버스 문서의 USB 사양을 참조하세요.
이 부분에서는
| 주제 | 설명 |
|---|---|
| USB 디바이스 레이아웃 | USB 디바이스는 구성, 인터페이스, 대체 설정 및 엔드포인트를 통해 기능과 기능을 정의합니다. 이 항목에서는 이러한 개념에 대한 개략적인 개요를 제공합니다. |
| 표준 USB 설명자 | USB 디바이스는 USB 설명자라는 데이터 구조에서 자체에 대한 정보를 제공합니다. 이 섹션에서는 디바이스, 구성, 인터페이스 및 엔드포인트 설명자에 대한 정보와 USB 디바이스에서 검색하는 방법을 제공합니다. |
| USB 엔드포인트 및 해당 파이프 | USB 디바이스에는 데이터 전송에 사용되는 엔드포인트가 있습니다. 호스트 쪽에서 엔드포인트는 파이프로 표시됩니다. 이 항목에서는 이러한 두 용어를 구분합니다. |
| Windows의 USB - FAQ | 이 항목에서는 USB 디바이스 및 드라이버를 Windows 운영 체제와 개발 및 통합하는 데 새로운 드라이버 개발자를 위한 질문과 대답을 제공합니다. |
일반적인 USB 시나리오
1 - 통신을 위한 디바이스 핸들을 가져오 고 검색된 핸들 또는 개체를 사용하여 데이터 전송을 보냅니다.
| 클라이언트 드라이버 | UWP 앱 | Windows 데스크톱 앱 |
|---|---|---|
|
KMDF: WdfUsbTargetDeviceCreateWithParameters UMDF: IWDFUsbTargetDevice |
UsbDevice USB 디바이스에 연결하는 방법 |
WinUsb_Initialize WinUSB 템플릿을 기반으로 Windows 데스크톱 앱 작성 |
디바이스의 구성, 인터페이스, 설정 및 해당 엔드포인트에 대한 정보를 가져오기 위한 USB 설명자 검색입니다.
2 - 인터페이스당 활성 USB 구성 및 설정을 선택하도록 디바이스를 구성합니다.
3 - 디바이스를 구성하고 특정 디바이스와 관련된 공급업체 명령을 수행하기 위한 제어 전송을 보냅니다.
| 클라이언트 드라이버 | UWP 앱 | Windows 데스크톱 앱 |
|---|---|---|
|
KMDF: WdfUsbTargetDeviceSendControlTransferSynchronously WdfUsbTargetDeviceFormatRequestForControlTransfer (USB 타겟 장치 제어 전송을 위한 요청 형식 지정) USBD_SelectConfigUrbAllocateAndBuild UMDF: IWDFUsbTargetDevice::FormatRequestForControlTransfer USB 제어 전송 보내는 방법 |
SendControlInTransferAsync SendControlOutTransferAsync USB 제어 전송 보내는 방법 |
WinUsb_ControlTransfer 기본 엔드포인트로 제어 전송 보내기 |
4 - 대용량 데이터를 전송하는 대용량 스토리지 디바이스에서 일반적으로 사용하는 대량 전송을 보냅니다.
5 - 인터럽트 전송 보내기 하드웨어 인터럽트 데이터를 검색하기 위해 데이터를 읽습니다.
| 클라이언트 드라이버 | UWP 앱 | Windows 데스크톱 앱 |
|---|---|---|
| 대량 전송과 동일 |
UsbInterruptInPipe.DataReceived UsbInterruptOutPipe.OutputStream USB 인터럽트 전송 요청을 보내는 방법 |
대량 전송과 동일 |
6 - 미디어 스트리밍 디바이스에 주로 사용되는 등시 전송 보내기.
7 - 디바이스가 저전력 상태로 들어가 디바이스를 다시 작동 상태로 되돌릴 수 있도록 USB 선택적 일시 중단입니다.
| 클라이언트 드라이버 | UWP 앱 | Windows 데스크톱 앱 |
|---|---|---|
|
KMDF: WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS WdfDeviceAssignS0IdleSettings UMDF: IWDFUsbTargetDevice::SetPowerPolicy IWDFDevice2::AssignS0IdleSettings IWDFDevice3::AssignS0IdleSettingsEx 선택적 일시 중단에 디바이스를 보내는 방법 |
지원되지 않음 |
WinUsb_SetPowerPolicy WinUSB 전원 관리 |