이 문서에서는 WDM(Windows 드라이버 모델) USB 클라이언트 드라이버를 작성하는 데 필요한 헤더 및 라이브러리를 나열합니다.
To find the header and library for a specific device driver interface (DDI), consult the reference pages in the USB Reference.
Headers
| Header file | Path | Includes | Description |
|---|---|---|---|
| hubbusif.h | Include\km | USB 포트 드라이버에서 내보내고 USB 허브 드라이버에서 사용할 수 있는 서비스를 정의합니다. | |
| usb.h | Include\shared | Defines URB structures for USB Request Blocks (URBs) required by a client driver to send requests to the USB driver stack. | |
| usb100.h | Include\shared | 공식 USB 1.0 사양에 따라 USB 설명자를 정의합니다. | |
| usb200.h | Include\shared | usb100.h | 공식 USB 2.0 사양에 따라 USB 설명자를 정의합니다. |
| usbbusif.h | Include\km | Usbd.sys직접 연결하는 대신 포트 드라이버에 직접 연결하려는 FDO(USB 클라이언트 드라이버)에 대해 정의된 버스 인터페이스를 정의합니다. | |
| usbdi.h | Include\shared | usb.h usbioctl.h |
특정 유형의 요청에 대한 URL 서식을 지정하기 위한 도우미 매크로를 정의합니다. |
| usbdlib.h | Include\km | USB 클라이언트 드라이버가 USB 드라이버 스택에 요청을 보내는 데 사용하는 DDI를 정의합니다. | |
| usbdrivr.h | Include\km | usb.h usbdlib.h usbioctl.h usbbusif.h |
Defines USB_KERNEL_IOCTL. |
| usbioctl.h | Include\shared | usbiodef.h usb200.h |
USB 드라이버 스택에서 지원하는 IOCTL 코드를 정의합니다. 클라이언트 드라이버에 대한 커널 모드 IOCTL 코드를 포함합니다. 애플리케이션에 대한 사용자 모드 IOCTL 코드입니다. |
| usbiodef.h | Include\shared | 인터페이스 및 WMI GUID를 정의합니다. | |
| usbkern.h | Include\km | usbioctl.h | Deprecated. |
| usbrpmif.h | Include\um | usb100.h windef.h winapifamily.h |
USB 디바이스에 대한 드라이버 리디렉션 작업을 수행하기 위해 애플리케이션이 자신을 등록하는 함수를 정의합니다. |
| usbspec.h | Include\shared | 공식 USB 사양에 따라 디바이스 드라이버 인터페이스를 정의합니다. | |
| usbuser.h | Include\um | USB 포트 드라이버에서 지원하는 사용자 모드 IOCTL 코드를 정의합니다. | |
| winusb.h | Include\um | winapifamily.h winusbio.h |
Defines WinUSB functions exposed by Winusb.dll, which are used by applications that want to send requests to Winusb.sys that is installed as the function driver for a USB device. |
| winusbio.h | Include\shared | winapifamily.h usb.h |
Defines flags for WinUSB functions. |
Libraries
| Library | Path | Description |
|---|---|---|
| usbd.lib |
\Lib\win8\km \Lib\win7\km \Lib\winv6.3\km |
USB 드라이버 스택에서 정보를 가져오고 요청에 대한 URL 서식을 지정하기 위한 도우미 루틴을 제공합니다. |
| usbrpm.lib |
\Lib\win8\km \Lib\win7\km \Lib\winv6.3\km |
애플리케이션이 Microsoft에서 제공하는 드라이버를 타사 RPM 드라이버로 바꾸기 위한 작업을 수행할 수 있는 함수를 제공합니다. |
| usbdex.lib |
\Lib\win8\km \Lib\win7\km \Lib\winv6.3\km |
클라이언트 드라이버가 기본 USB 드라이버 스택에 요청을 보내는 도우미 루틴을 제공합니다. 라이브러리가 빌드될 때 로드되고 클라이언트 드라이버 모듈에 정적으로 연결됩니다. 이러한 루틴을 호출하는 클라이언트 드라이버는 Windows Vista 이상 버전의 Windows에서 실행할 수 있습니다. |
| winusb.lib |
\Lib\win8\km \Lib\win8\um \Lib\win7\km \Lib\win7\um \Lib\winv6.3\km \Lib\winv6.3\um |
사용자 모드 클라이언트 드라이버 또는 애플리케이션이 함수 드라이버로 Winusb.sys 로드된 USB 디바이스와 통신할 수 있는 함수를 제공합니다. |
Windows 8의 헤더 변경 내용
Windows 8용 WDK(Windows 드라이버 키트)부터 헤더 파일 usbspec.h는 USBProtocolDefs.h를 대체합니다.
새 헤더 파일인 usbspec.h는 공식 USB 사양에 따라 정의된 DDI에 대한 프로토콜 정의를 제공합니다. 헤더 파일에는 USB 3.0 사양에 대한 DDI가 포함되어 있습니다.