다음을 통해 공유


USB 함수 컨트롤러용 Windows 드라이버 개발 개요

이 문서에서는 Microsoft에서 제공하는 UFX(USB 함수 컨트롤러 확장)와 통신하는 USB(유니버설 직렬 버스) 함수 컨트롤러 드라이버를 개발하기 위한 Windows 운영 체제의 지원에 대해 설명합니다.

개발 도구 및 Microsoft에서 제공하는 이진 파일

WDK(Windows 드라이버 키트)에는 헤더, 라이브러리, 도구 및 샘플과 같은 드라이버 개발에 필요한 리소스가 포함되어 있습니다.

Windows용 키트 및 도구 다운로드

Windows는 Synopsys IP의 컨트롤러 하드웨어에 대한 UfxSynopsys.sys 같은 받은 편지함 USB 함수 컨트롤러 드라이버를 제공합니다. 일반적으로 플랫폼을 가져올 때 하드웨어 파트너 또는 OEM에서 수행하는 플랫폼 수준 변경 및 유효성 검사가 필요합니다. 이 가져오기 프로세스에는 ACPI와의 통합을 통해 시스템 드라이버에 USB 연결/분리 이벤트를 알리고 Microsoft에서 제공하는 HLK 테스트를 사용하여 추가 유효성 검사를 수행할 수 있습니다. 자체 컨트롤러 드라이버를 작성하려면 다음이 필요합니다.

  • FDO로 로드된 UFX(Ufx01000.sys) 이 드라이버는 Windows에 포함되어 있습니다.
  • 스텁 라이브러리에 연결합니다(Ufx01000.lib). 스텁 라이브러리는 WDK에 있습니다. 라이브러리는 함수 컨트롤러 드라이버의 호출을 변환하고 UFX에 전달합니다.
  • WDK에 제공된 Ufxclient.h를 포함합니다.

사용자 모드에서 요청을 보내려면 다음이 필요합니다.

  • GenericUSBFn.sys USB 함수 클래스 드라이버로 로드됩니다. 이 드라이버는 Windows에 포함되어 있습니다.
  • WDK에 제공된 Genericusbfnioctl.h를 포함합니다.

USB 클래스 드라이버에서 요청을 보내려면 다음이 필요합니다.

  • FDO로 로드된 UFX(Ufx01000.sys) 이 드라이버는 Windows에 포함되어 있습니다.
  • WDK에 제공된 Usbfnioctl.h를 포함합니다.

독점 충전기를 통해 충전을 처리하는 필터 드라이버를 작성하려면 다음이 필요합니다.

  • UfxChipidea.sys 또는 Ufxsynopsys.sys UFX에 클라이언트 드라이버로 로드됩니다.
  • WDK에 제공된 Ufxproprietarycharger.h를 포함합니다.

UFX 아키텍처

Microsoft에서 제공하는 USB 드라이버 스택을 숙지합니다.

Windows의 USB 디바이스 쪽 드라이버

UFX 개체 및 핸들 숙지

UFX는 WDF 개체 기능을 확장하여 자체 USB 관련 UCX 개체를 정의합니다. WDF 개체에 대한 자세한 내용은 프레임워크 개체 소개를 참조하세요.

큐 요청의 경우 UFX는 USB 관련 개체를 사용합니다. 자세한 내용은 USB 함수 클라이언트 드라이버에서 사용하는 UFX 개체 및 핸들입니다.

함수 컨트롤러 클라이언트 드라이버 작성

UFX의 동작, 클라이언트 드라이버와 상호 작용하는 방법 및 클라이언트 드라이버가 구현해야 하는 기능을 이해합니다.

함수 컨트롤러 클라이언트 드라이버에 대한 작업

프로그래밍 참조 섹션

USB 함수 클래스 드라이버에서 UFX 프로그래밍 참조로

USB 함수 컨트롤러 클라이언트 드라이버 프로그래밍 참조

독점 충전기를 지원하기 위한 USB 필터 드라이버