Windows에 포함된 USB 디바이스 클래스 드라이버
Important
이 항목은 프로그래머를 위한 것입니다. USB 문제가 발생한 고객인 경우 Windows에서 USB-C 문제 해결을 참조 하세요.
이 문서에서는 지원되는 USB 디바이스 클래스에 대한 Microsoft 제공 드라이버를 나열합니다.
- USB-IF 승인 디바이스 클래스에 대한 Microsoft 제공 드라이버.
- 복합 디바이스의 경우 각 함수에 대한 PDO(물리적 디바이스 개체)를 만드는 USB Usbccgp.sys(일반 부모 드라이버)를 사용합니다.
- 복합 디바이스가 아닌 디바이스 또는 복합 디바이스의 함수의 경우 WinUSB(Winusb.sys)를 사용합니다.
USB 드라이버를 설치하는 경우: USB 디바이스 클래스 드라이버를 다운로드할 필요가 없습니다. 자동으로 설치됩니다. 이러한 드라이버와 해당 설치 파일은 Windows에 포함되어 있습니다. \Windows\System32\DriverStore\FileRepository 폴더에서 사용할 수 있습니다. 드라이버는 Windows 업데이트 통해 업데이트됩니다.
사용자 지정 드라이버를 작성하는 경우: USB 디바이스용 드라이버를 작성하기 전에 Microsoft에서 제공하는 드라이버가 디바이스 요구 사항을 충족하는지 여부를 결정합니다. 디바이스가 속한 USB 디바이스 클래스에 Microsoft 제공 드라이버를 사용할 수 없는 경우 일반 드라이버, Winusb.sys 또는 Usbccgp.sys 사용하는 것이 좋습니다. 필요한 경우에만 드라이버를 작성합니다. USB 클라이언트 드라이버를 개발하기 위한 드라이버 모델 선택에 추가 지침이 포함되어 있습니다.
USB 디바이스 클래스
USB 디바이스 클래스는 유사한 특성을 가진 디바이스의 범주이며 일반적인 기능을 수행합니다. USB-IF는 이러한 클래스와 해당 사양을 정의합니다. 각 디바이스 클래스는 USB-IF 승인 클래스, 서브클래스 및 프로토콜 코드로 식별되며, 모두 펌웨어의 디바이스 설명자에서 IHV에서 제공합니다. Microsoft는 USB 디바이스 클래스 드라이버라고 하는 여러 디바이스 클래스에 대한 기본 제공 드라이버를 제공합니다. 지원되는 디바이스 클래스에 속하는 디바이스가 시스템에 연결된 경우 Windows는 클래스 드라이버를 자동으로 로드하고 다른 드라이버 없이 디바이스가 작동합니다.
하드웨어 공급업체는 지원되는 디바이스 클래스에 대한 드라이버를 작성해서는 안 됩니다. Windows 클래스 드라이버는 클래스 사양에 설명된 모든 기능을 지원하지 않을 수 있습니다. 일부 디바이스 기능이 클래스 드라이버에서 구현되지 않는 경우 공급업체는 클래스 드라이버와 함께 작동하는 보조 드라이버를 제공하여 디바이스에서 제공하는 전체 기능을 지원해야 합니다.
USB-IF 승인 디바이스 클래스에 대한 일반적인 내용은 USB 공통 클래스 사양을 참조하세요.
USB 클래스 사양 및 클래스 코드의 현재 목록은 USB-IF 정의된 클래스 코드 목록에 설명 되어 있습니다.
디바이스 설정 클래스
Windows는 디바이스 의 기능을 나타내는 디바이스 설정 클래스별로 디바이스를 분류합니다.
Microsoft는 대부분의 디바이스에 대한 설정 클래스를 정의합니다. IHV 및 OEM은 새 디바이스 설정 클래스를 정의할 수 있지만 기존 클래스가 적용되지 않는 경우에만 정의할 수 있습니다. 자세한 내용은 시스템 정의 디바이스 설정 클래스를 참조 하세요.
USB 디바이스에 대한 두 가지 중요한 디바이스 설정 클래스는 다음과 같습니다.
USBDevice {88BAE032-5A81-49f0-BC3D-A4FF138216D6}: IHV는 다른 클래스에 속하지 않는 사용자 지정 디바이스에 이 클래스를 사용해야 합니다. 이 클래스는 USB 호스트 컨트롤러 및 허브에 사용되지 않습니다.
USB {36fc9e60-c465-11cf-8056-44455354000}: IHV는 사용자 지정 장치에 이 클래스를 사용하면 안 됩니다. USB 호스트 컨트롤러 및 USB 허브용으로 예약됩니다.
디바이스 설정 클래스는 앞에서 설명한 USB 디바이스 클래스와 다릅니다. 예를 들어 오디오 디바이스의 설명자에는 01h의 USB 디바이스 클래스 코드가 있습니다. 시스템에 연결되면 Windows는 Microsoft에서 제공하는 클래스 드라이버 Usbaudio.sys 로드합니다. 장치 관리자 디바이스는 소리, 비디오 및 게임 컨트롤러 아래에 표시되며 이는 디바이스 설정 클래스가 Media임을 나타냅니다.
Microsoft에서 제공하는 USB 디바이스 클래스 드라이버
USB-IF 클래스 코드 | 디바이스 설정 클래스 | Microsoft 제공 드라이버 및 INF |
Windows 지원 | 설명 |
---|---|---|---|---|
오디오(01h) | 미디어 {4d36e96c-e325-11ce-bfc1-08002be10318} |
Usbaudio.sys Wdma_usb.inf |
Windows 11 데스크톱용 Windows 10 버전(Home, Pro, Enterprise 및 Education) Windows 10 Mobile Windows 8.1 |
Microsoft는 Usbaudio.sys 드라이버를 사용하여 USB 오디오 디바이스 클래스를 지원합니다. 자세한 내용은 커널 모드 WDM 오디오 구성 요소의 "USBAudio 클래스 시스템 드라이버"를 참조하세요. Windows 오디오 지원에 대한 자세한 내용은 Windows용 오디오 장치 기술 웹 사이트를 참조하세요. |
통신 및 CDC 제어(02h) | Ports {4D36E978-E325-11CE-BFC1-08002BE10318} |
Usbser.sys Usbser.inf |
Windows 11 데스크톱용 Windows 10 버전 Windows 10 Mobile |
Windows 10에서는 함수 드라이버로 자동으로 Usbser.sys 로드하는 새 INF Usbser.inf가 추가되었습니다. 자세한 내용은 USB 직렬 드라이버(Usbser.sys)를 참조 하세요. |
통신 및 CDC 제어(02h) | 모뎀 {4D36E96D-E325-11CE-BFC1-08002BE10318} ACM(Subclass 02h) 지원 |
Usbser.sys mdmcpq.inf를 참조하는 사용자 지정 INF |
Windows 11 데스크톱용 Windows 10 버전 Windows 8.1 |
Windows 8.1 이전 버전에서는 Usbser.sys 자동으로 로드되지 않습니다. 드라이버를 로드하려면 모뎀 INF(mdmcpq.inf)를 참조하고 [설치] 및 [필요] 섹션을 포함하는 INF를 작성해야 합니다. 무선 모바일 통신 디바이스 클래스에 대한 지원에 설명된 대로 레지스트리 값을 설정하여 CDC 및 WMCDC(무선 모바일 CDC) 지원을 사용하도록 설정할 수 있습니다. CDC 지원을 사용하도록 설정 하면 USB 공통 클래스 제네릭 부모 드라이버는 CDC 및 WMCDC 제어 모델에 해당하는 인터페이스 컬렉션을 열거하고 이러한 컬렉션에 PDO(물리적 디바이스 개체)를 할당합니다. |
통신 및 CDC 제어(02h) | Net {4d36e972-e325-11ce-bfc1-08002be10318} NCM(Subclass 0Dh) 지원 |
UsbNcm.sys UsbNcm.inf |
Windows 11 Windows Server 2022 |
Microsoft는 Usb NCM을 준수하는 디바이스를 작동하는 UsbNcm.sys 드라이버를 제공합니다. 이 드라이버의 소스 코드는 NCM-Driver-for-Windows에서 사용할 수 있습니다. |
통신 및 CDC 제어(02h) | Net {4d36e972-e325-11ce-bfc1-08002be10318} MBIM(Subclass 0Eh)을 지원합니다. |
cxwmbclass.sys wmbclass.sys Netwmbclass.inf |
Windows 11 데스크톱용 Windows 10 버전 Windows 8.1 |
Microsoft는 모바일 광대역 디바이스용 wmbclass.sys 드라이버를 제공합니다. MB 인터페이스 모델을 참조하세요. |
HID(휴먼 인터페이스 디바이스)(03h) | HIDClass {745a17a0-74d3-11d0-b6fe-00a0c90f57da} |
Hidclass.sys Hidusb.sys Input.inf |
Windows 11 데스크톱용 Windows 10 버전 Windows 10 Mobile Windows 8.1 |
Microsoft는 USB HID 표준을 준수하는 디바이스를 작동하기 위해 HID 클래스 드라이버(Hidclass.sys) 및 미니클래스 드라이버(Hidusb.sys)를 제공합니다. 자세한 내용은 HID 아키텍처 및 미니 드라이버 및 HID 클래스 드라이버를 참조하세요. 입력 하드웨어에 대한 Windows 지원에 대한 자세한 내용은 입력 및 HID - 아키텍처 및 드라이버 지원 웹 사이트를 참조하세요. |
물리적(05h) | - | - | - | 권장 드라이버: WinUSB(Winusb.sys) |
이미지(06h) | Image {6bdd1fc6-810f-11d0-bec7-08002be2092f} |
Usbscan.sys Sti.inf |
Windows 11 데스크톱용 Windows 10 버전 Windows 8.1 |
Microsoft는 Windows XP 이상 운영 체제용 USB 디지털 카메라 및 스캐너를 관리하는 Usbscan.sys 드라이버를 제공합니다. 이 드라이버는 WIA(Windows 이미징 아키텍처)의 USB 구성 요소를 구현합니다. WIA에 대한 자세한 내용은 Windows 이미지 획득 드라이버 및 Windows 이미징 구성 요소 웹 사이트를 참조하세요. WIA에서 Usbscan.sys 수행하는 역할에 대한 설명은 WIA Core 구성 요소를 참조 하세요. |
프린터(07h) | USB Usbprint.sys 디바이스 설정 클래스 인 프린터 {4d36e979-e325-11ce-bfc1-08002be10318}에서 프린터 디바이스를 열거합니다. |
Usbprint.sys Usbprint.inf |
Windows 11 데스크톱용 Windows 10 버전 Windows 8.1 |
Microsoft는 USB 프린터를 관리하는 Usbprint.sys 클래스 드라이버를 제공합니다. Windows에서 프린터 클래스를 구현하는 방법에 대한 자세한 내용은 인쇄 - 아키텍처 및 드라이버 지원 웹 사이트를 참조하세요. |
대용량 스토리지(08h) | USB | Usbstor.sys | Windows 11 데스크톱용 Windows 10 버전 Windows 10 Mobile Windows 8.1 |
Microsoft는 Microsoft의 네이티브 스토리지 클래스 드라이버를 사용하여 USB 대용량 스토리지 디바이스를 관리하는 Usbstor.sys 포트 드라이버를 제공합니다. 이 드라이버에서 관리하는 디바이스 스택 예제는 USB 대용량 스토리지 디바이스에 대한 디바이스 개체 예제를 참조 하세요. Windows 스토리지 지원에 대한 자세한 내용은 Storage Technologies 웹 사이트를 참조하세요. |
대용량 스토리지(08h) | SCSIAdapter {4d36e97b-e325-11ce-bfc1-08002be10318} |
SubClass(06) 및 프로토콜(62)Uaspstor.sys Uaspstor.inf |
Windows 11 데스크톱용 Windows 10 버전 Windows 10 Mobile Windows 8.1 |
Uaspstor.sys 대량 스트림 엔드포인트를 지원하는 SuperSpeed USB 디바이스의 클래스 드라이버입니다. |
허브(09h) | USB {36fc9e60-c465-11cf-8056-444553540000} |
Usbhub.sys Usb.inf |
Windows 11 데스크톱용 Windows 10 버전 Windows 10 Mobile Windows 8.1 |
Microsoft는 USB 허브를 관리하기 위한 Usbhub.sys 드라이버를 제공합니다. 허브 클래스 드라이버와 USB 스택 간의 관계에 대한 자세한 내용은 Windows의 USB 호스트 쪽 드라이버를 참조하세요. |
허브(09h) | USB {36fc9e60-c465-11cf-8056-444553540000} |
Usbhub3.sys Usbhub3.inf |
Windows 11 데스크톱용 Windows 10 버전 Windows 8.1 |
Microsoft는 SuperSpeed(USB 3.0) USB 허브를 관리하기 위한 Usbhub3.sys 드라이버를 제공합니다. 슈퍼스피드 허브가 xHCI 컨트롤러에 연결되면 드라이버가 로드됩니다. Windows의 USB 호스트 쪽 드라이버를 참조 하세요. |
CDC-Data(0Ah) | - | - | - | 권장 드라이버: WinUSB(Winusb.sys) |
스마트 카드(0Bh) | SmartCardReader {50dd5230-ba8a-11d1-bf5d-0000f805f530} |
Usbccid.sys(사용되지 않음) | 데스크톱용 Windows 10 버전 | Microsoft는 USB 스마트 카드 판독기를 관리하는 Usbccid.sys 미니 클래스 드라이버를 제공합니다. Windows의 스마트 카드 드라이버에 대한 자세한 내용은 스마트 카드 디자인 가이드를 참조 하세요. WUDFUsbccidDriver.dll UMDF 드라이버는 Usbccid.sys 드라이버를 대체합니다. |
스마트 카드(0Bh) | SmartCardReader {50dd5230-ba8a-11d1-bf5d-0000f805f530} |
WUDFUsbccidDriver.dll WUDFUsbccidDriver.inf |
Windows 8.1 | WUDFUsbccidDriver.dll USB CCID 스마트 카드 판독기 디바이스용 사용자 모드 드라이버입니다. |
콘텐츠 보안(0Dh) | - | - | - | 권장 드라이버: USB 일반 부모 드라이버(Usbccgp.sys). 일부 콘텐츠 보안 기능은 Usbccgp.sys 구현됩니다. Usbccgp.sys 콘텐츠 보안 기능을 참조하세요. |
비디오(0Eh) | Image {6bdd1fc6-810f-11d0-bec7-08002be2092f} |
Usbvideo.sys Usbvideo.inf |
Windows 11 데스크톱용 Windows 10 버전 |
Microsoft는 Usbvideo.sys 드라이버와 함께 USB 비디오 클래스 지원을 제공합니다. 자세한 내용은 AVStream 미니 드라이버에서 "USB 비디오 클래스 드라이버"를 참조하세요. |
개인 의료(0Fh) | - | - | - | 권장 드라이버: WinUSB(Winusb.sys) |
오디오/비디오 디바이스(10h) | - | - | - | - |
진단 디바이스(DCh) | - | - | - | 권장 드라이버: WinUSB(Winusb.sys) |
무선 컨트롤러(E0h) Subclass 01h 및 Protocol 01h를 지원합니다. |
Bluetooth{e0cbf06c-cd8b-4647-bb8a-263b43f0f974} | Bthusb.sys Bth.inf |
Windows 11 데스크톱용 Windows 10 버전 Windows 10 Mobile |
Microsoft는 USB Bluetooth 라디오를 관리하는 Bthusb.sys 미니포트 드라이버를 제공합니다. 자세한 내용은 Bluetooth 디자인 가이드를 참조 하세요. |
기타(EFh) | Net {4d36e972-e325-11ce-bfc1-08002be10318} SubClass 04h 및 프로토콜 01h를 지원합니다. |
Rndismp.sys Rndismp.inf |
Windows 11 데스크톱용 Windows 10 버전 Windows 8.1 |
대신 하드웨어 공급업체가 USB NCM 호환 디바이스를 빌드하는 것이 좋습니다. USB NCM은 더 나은 처리량 성능을 제공하는 공용 USB-IF 프로토콜입니다. RNDIS 시설은 모든 802 스타일 네트워크 카드를 단일 클래스 드라이버 Rndismp.sys 관리합니다. 원격 NDIS에 대한 자세한 내용은 원격 NDIS 개요를 참조 하세요. USB에 대한 원격 NDIS 매핑은 Usb8023.sys 드라이버에서 구현됩니다. Windows의 네트워킹 지원에 대한 자세한 내용은 네트워킹 및 무선 기술을 참조 하세요. |
애플리케이션별(FEh) | - | - | - | 권장 드라이버: WinUSB(Winusb.sys) |
공급업체별(FFh) | - | - | Windows 11 데스크톱용 Windows 10 버전 Windows 10 Mobile |
권장 드라이버: WinUSB(Winusb.sys) |