Windows용 USB 디바이스 빌드 개요
이 섹션에서는 USB 주변 장치 제조업체에 대한 링크를 제공합니다.
USB 디바이스 열거 프로세스
-
Microsoft USB 드라이버 스택에서 사용하는 열거형 프로세스에 대한 자세한 설명 - 스택이 디바이스의 존재를 감지하고 PnP 관리자에게 새 디바이스가 도착했음을 나타내는 시점부터 시작합니다.
Windows 8 USB 2.1, 2.0, 1.1 디바이스 열거형 변경
Windows 8 스택이 USB 2.1, 2.0 및 1.1 디바이스를 열거하는 방법을 USB 드라이버 스택에서 수정했습니다. 이러한 수정은 새로운 USB 기능을 지원하고 디바이스 열거 성능을 향상시킵니다. 게시물을 읽으면 이러한 미묘한 변화에 대한 인식을 높이고 디바이스/펌웨어 빌더가 열거형 오류의 근본 원인을 쉽게 확인할 수 있습니다.
Microsoft OS 설명자
USB 디바이스는 디바이스 및 해당 인터페이스 및 엔드포인트에 대한 표준 설명자를 펌웨어에 저장합니다. 또한 디바이스는 클래스 및 공급업체별 설명자를 저장할 수 있습니다. 그러나 해당 설명자가 포함할 수 있는 정보 유형은 제한적입니다. IHV는 일반적으로 Windows 업데이트 또는 CD와 같은 미디어를 사용하여 사용자에게 사진, 아이콘 및 사용자 지정 드라이버와 같은 다양한 디바이스 관련 정보를 제공해야 합니다.
IHV는 Microsoft OS 설명자를 사용하여 정보를 별도로 제공하는 대신 펌웨어에 저장할 수 있습니다. Window는 Microsoft OS 설명자를 읽어 해당 정보를 검색하고 이를 사용하여 사용자 상호 작용 없이 디바이스를 설치하고 구성합니다. USB 디바이스용 Microsoft OS 설명자를 참조하세요.
-
이 문서에서는 Microsoft OS 설명자를 소개합니다. 여기에는 OS 문자열 설명자, 확장 속성 OS 기능 설명자 및 OS 기능 설명자 형식에 대한 사양이 포함됩니다.
-
이 문서에서는 Microsoft OS 설명자 버전 2.0의 구현을 정의하고 설명합니다. Microsoft OS 2.0 설명자의 목표는 OS 설명자 버전 1.0의 제한 사항 및 안정성 문제를 해결하고 USB 디바이스에 대한 새로운 Windows 관련 기능을 사용하도록 설정하는 것입니다.
Microsoft OS 설명자를 사용하여 함수 드라이버로 Winusb.sys 로드
IHV는 호환되는 ID를 "WINUSB"로 보고하는 특정 MICROSOFT OS(운영 체제) 기능 설명자를 정의할 수 있습니다. 이러한 설명자를 사용하면 Windows에서 사용자 지정 INF 파일 없이 디바이스의 함수 드라이버로 Winusb.sys 로드할 수 있습니다. 호환 ID를 정의하는 방법에 대한 예제는 확장 호환 ID OS 기능 설명자 사양의 예제 섹션을 참조하세요. 사양은 Microsoft OS 1.0 설명자 사양 다운로드에 포함되어 있습니다.
컨테이너 ID 설정
-
USB(유니버설 직렬 버스) 디바이스용 컨테이너 ID가 생성되는 방법을 설명합니다.
-
디바이스 제조업체가 Windows에서 올바르게 검색할 수 있도록 다기능 USB 디바이스를 프로그래밍하기 위한 지침입니다.
-
블로그 게시물에서는 디바이스가 컨테이너 ID를 보고하여 Windows에서 디바이스를 열거하고 디바이스 및 프린터 에 제대로 표시하는 방법을 설명합니다. 여러 함수(복합 디바이스) 또는 구성 요소(복합 디바이스)를 지원하는 디바이스의 경우 디바이스는 각 부분에 대해 동일한 ID를 보고해야 합니다. 디바이스는 Microsoft OS ContainerID 설명자의 ID를 보고해야 합니다.
전원 관리 구현
-
이 문서에서는 하드웨어 공급업체 및 OEM이 선택적 일시 중단과 함께 LPM(연결 전원 관리)을 사용하여 USB 디바이스에 대한 전원 관리를 구현하기 위한 지침을 제공합니다. U1에서 U2로의 하드웨어 전환을 설명하고 USB 컨트롤러, 허브 및 디바이스에서 LPM 구현의 일반적인 함정에 대한 정보를 제공합니다.
-
이 블로그 게시물에서는 USB 드라이버 스택이 USB 3.0 디바이스에서 함수 및 선택적 일시 중단을 처리하는 방법을 설명합니다.
디버깅 및 진단 도구
-
ETW(Windows용 이벤트 추적)는 운영 체제에서 제공하는 범용 고속 추적 시설입니다. 여기에는 도구를 설치하고, 추적 파일을 만들고, USB 추적 파일에서 이벤트를 분석하는 방법에 대한 정보가 포함됩니다.
-
Windows WPP(소프트웨어 추적 전처리기)의 기본 작업을 사용하여 소프트웨어 구성 요소(추적 공급자)의 작업을 추적하는 방법입니다.
USB 3.0 확장 (usb3kd.dll)
이러한 명령은 USB 3.0 스택의 세 드라이버(USB 3.0 허브 드라이버, USB 호스트 컨트롤러 확장 드라이버 및 USB 3.0 호스트 컨트롤러 드라이버)가 유지 관리하는 데이터 구조의 정보를 표시합니다.
USB 2.0 확장 (usb2kd.dll)
이러한 명령은 USB 2.0 스택의 드라이버에서 유지 관리하는 데이터 구조의 정보(USB 2.0 허브 드라이버 및 USB 2.0 호스트 컨트롤러 드라이버)를 표시합니다.