Important
この記事は、プログラマー向けです。 お客様に USB の問題が発生している場合は、「 Windows で USB-C の問題を解決する」を参照してください。
この記事では、サポートされている USB デバイス クラス用のマイクロソフト提供ドライバーの一覧を示します。
- USB-IF 認定デバイス クラス用の Microsoft 提供のドライバー。
- 複合デバイスの場合は、USB 汎用親ドライバー (Usbccgp.sys) を使用します。これにより、各関数の物理デバイス オブジェクト (PDO) が作成されます。
- 非複合デバイスまたは複合デバイスの機能の場合は、 WinUSB (Winusb.sys) を使用します。
USB ドライバーをインストールする場合: USB デバイス クラス ドライバーをダウンロードする必要はありません。 これらは自動的に再インストールされます。 これらのドライバーとそのインストール ファイルは、Windows に含まれています。 \Windows\System32\DriverStore\FileRepository フォルダーで使用できます。 ドライバーは Windows Update を通じて更新されます。
カスタム ドライバーを作成する場合: USB デバイス用のドライバーを作成する前に、マイクロソフト提供ドライバーがデバイスの要件を満たしているかどうかを確認します。 デバイスが属する 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 デバイス用の 2 つの重要なデバイス セットアップ クラスは、次のとおりです。
USBDevice {88BAE032-5A81-49f0-BC3D-A4FF138216D6}: IHV は、別のクラスに属していないカスタム デバイスに対してこのクラスを使用する必要があります。 このクラスは、USB ホスト コントローラーとハブには使用されません。
USB {36fc9e60-c465-11cf-8056-444553540000}: IHV はカスタム デバイスにこのクラスを使用しないでください。 このクラスは、USB ホスト コントローラーと USB ハブ用に予約されています。
デバイス セットアップ クラスは、前述の USB デバイス クラスとは異なります。 たとえば、オーディオ デバイスでは、その記述子に 01h という USB デバイス クラス コードがあります。 システムに接続すると、Windows は Microsoft が提供するクラス ドライバー を読 み込み、Usbaudio.sysします。 デバイス マネージャーでは、デバイスが サウンド、ビデオ、およびゲーム コントローラーの下に表示されます。これは、デバイス セットアップ クラスがメディアであることを示します。
Microsoft 提供の USB デバイス クラス ドライバー
| USB-IF クラス コード | デバイス セットアップ クラス | Microsoft-provided ドライバーと INF |
Windows のサポート | Description |
|---|---|---|---|---|
| オーディオ (01h) |
Media {4d36e96c-e325-11ce-bfc1-08002be10318} |
Usbaudio.sys Wdma_usb.inf |
ウィンドウズ11 Windows 10 |
マイクロソフトでは、Usbaudio.sys ドライバーを使用した USB オーディオ デバイス クラスのサポートを提供しています。 詳細については、「カーネル モード WDM オーディオ コンポーネント」の USB オーディオ クラス システム ドライバーに関するセクションを参照してください。 Windows のオーディオ サポートの詳細については、Windows 用のオーディオ デバイス テクノロジに関する Web サイトを参照してください。 |
| 通信および CDC 制御 (02h) |
Ports {4D36E978-E325-11CE-BFC1-08002BE10318} |
Usbser.sys Usbser.inf |
ウィンドウズ11 Windows 10 |
Windows 10 では、Usbser.inf Usbser.sys 関数ドライバーとして自動的に読み込まれます。 詳細については、「USB シリアル ドライバー (Usbser.sys)」を参照してください |
| 通信および CDC 制御 (02h) |
Modem {4D36E96D-E325-11CE-BFC1-08002BE10318} サブクラス 02h (ACM) をサポート |
Usbser.sys mdmcpq.inf を参照するカスタム INF |
ウィンドウズ11 Windows 10 |
「 ワイヤレス モバイル通信デバイス クラスのサポート」の説明に従ってレジストリ値を設定して、CDC およびワイヤレス モバイル CDC (WMCDC) のサポートを有効にします。 CDC のサポートが有効になっている場合、 USB 共通クラス汎用親ドライバー は、CDC および WMCDC コントロール モデルに対応するインターフェイス コレクションを列挙し、これらのコレクションに物理デバイス オブジェクト (PDO) を割り当てます。 |
| 通信および CDC 制御 (02h) |
Net {4d36e972-e325-11ce-bfc1-08002be10318} サブクラス 0Dh (NCM) をサポート |
UsbNcm.sys UsbNcm.inf |
ウィンドウズ11 Windows Server 2022 |
Microsoft は、 Usb NCM に準拠するデバイスを操作するための UsbNcm.sys ドライバーを提供しています。 このドライバーのソース コードは 、NCM-Driver-for-Windows で入手できます。 |
| 通信および CDC 制御 (02h) |
Net {4d36e972-e325-11ce-bfc1-08002be10318} サブクラス 0Eh (MBIM) をサポート |
cxwmbclass.sys wmbclass.sys Netwmbclass.inf |
ウィンドウズ11 Windows 10 |
マイクロソフトは、モバイル ブロードバンド デバイス用の wmbclass.sys ドライバーを提供しています。 MB インターフェイス モデルに関するページを参照してください。 |
| HID (ヒューマン インターフェイス デバイス) (03h) |
HIDClass {745a17a0-74d3-11d0-b6fe-00a0c90f57da} |
Hidclass.sys Hidusb.sys Input.inf |
ウィンドウズ11 Windows 10 |
Microsoft では、USB HID 標準に準拠しているデバイスを操作するための、HID クラス ドライバー (Hidclass.sys) とミニクラス ドライバー (Hidusb.sys) を提供しています。 詳細については、「 HID アーキテクチャ と ミニドライバーと HID クラス ドライバー」を参照してください。 入力ハードウェアの Windows サポートについて詳しくは、「入力と HID - アーキテクチャとドライバーのサポート」Web サイトをご覧ください。 |
| 物理 (05h) | - | - | - | 推奨されるドライバー: WinUSB (Winusb.sys) |
| 画像 (06h) |
Image {6bdd1fc6-810f-11d0-bec7-08002be2092f} |
Usbscan.sys Sti.inf |
ウィンドウズ11 Windows 10 |
Microsoft により、Windows XP 以降のオペレーティング システム用の USB デジタル カメラとスキャナーを管理する Usbscan.sys ドライバーが提供されています。 このドライバーでは、Windows Imaging Architecture (WIA) の USB コンポーネントを実装します。 WIA の詳細については、「Windows イメージ取得ドライバー」および Windows Imaging Component に関する Web サイトを参照してください。 WIA での Usbscan.sys の役割の説明については、「WIA Core コンポーネント」を参照してください。 |
| プリンター (07h) |
USB Usbprint.sys は、デバイス セットアップ クラス ( Printer {4d36e979-e325-11ce-bfc1-08002be10318} の下にあるプリンター デバイスを列挙します。 |
Usbprint.sys Usbprint.inf |
ウィンドウズ11 Windows 10 |
Microsoft では、USB プリンターを管理する Usbprint.sys クラス ドライバーを提供しています。 Windows でのプリンター クラスの実装については、「印刷」のアーキテクチャとドライバーのサポートに関する Web サイトを参照してください。 |
| 大容量記憶装置 (08h) | USB | Usbstor.sys | ウィンドウズ11 Windows 10 |
Microsoft では、Microsoft のネイティブ ストレージ クラス ドライバーを使用して USB 大容量記憶装置を管理するための、Usbstor.sys ポート ドライバーを提供しています。 このドライバーが管理するデバイス スタックの例については、 USB 大容量記憶装置のデバイス オブジェクトの例を参照してください。 Windows ストレージのサポートについては、 ストレージ テクノロジ の Web サイトを参照してください。 |
| 大容量記憶装置 (08h) |
SCSIAdapter {4d36e97b-e325-11ce-bfc1-08002be10318} |
サブスクラス (06) とプロトコル (62)Uaspstor.sys Uaspstor.inf |
ウィンドウズ11 Windows 10 |
Uaspstor.sys は、一括ストリーム エンドポイントをサポートする SuperSpeed USB デバイス用のクラス ドライバーです。 |
| ハブ (09h) |
USB {36fc9e60-c465-11cf-8056-444553540000} |
Usbhub.sys Usb.inf |
ウィンドウズ11 Windows 10 |
Microsoft では、USB ハブを管理するための Usbhub.sys ドライバーを提供しています。 ハブ クラス ドライバーと USB スタックの関係の詳細については、「Windows の USB ホスト側ドライバー」を参照してください。 |
| ハブ (09h) |
USB {36fc9e60-c465-11cf-8056-444553540000} |
Usbhub3.sys Usbhub3.inf |
ウィンドウズ11 Windows 10 |
Microsoft では、SuperSpeed (USB 3.0) USB ハブを管理するための Usbhub3.sys ドライバーを提供しています。 ドライバーは、SuperSpeed ハブが 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 ドライバーを置き換えます。 |
| コンテンツ セキュリティ (0Dh) | - | - | - | 推奨されるドライバー: USB 汎用親ドライバー (Usbccgp.sys)。 一部のコンテンツ セキュリティ機能は、Usbccgp.sys に実装されています。 「Usbccgp.sys のコンテンツ セキュリティ機能」を参照してください。 |
| ビデオ (0Eh) |
Image {6bdd1fc6-810f-11d0-bec7-08002be2092f} |
Usbvideo.sys Usbvideo.inf |
ウィンドウズ11 Windows 10 |
マイクロソフトでは、Usbvideo.sys ドライバーで USB ビデオ クラスをサポートしています。 詳細については、 AVStream ミニドライバーの下の「USB ビデオ クラス ドライバー」を参照してください。 |
| 個人の医療 (0Fh) | - | - | - | 推奨されるドライバー: WinUSB (Winusb.sys) |
| オーディオおよびビデオ デバイス (10h) | - | - | - | - |
| 診断デバイス (DCh) | - | - | - | 推奨されるドライバー: WinUSB (Winusb.sys) |
| ワイヤレス コントローラー (E0h) サブクラス 01h およびプロトコル 01h をサポート |
Bluetooth{e0cbf06c-cd8b-4647-bb8a-263b43f0f974} | Bthusb.sys Bth.inf |
ウィンドウズ11 Windows 10 |
Microsoft では、USB Bluetooth ラジオを管理するための Bthusb.sys ミニポート ドライバーを提供しています。 詳細については、Bluetooth 設計ガイドに関するページを参照してください。 |
| その他 (EFh) |
Net {4d36e972-e325-11ce-bfc1-08002be10318} サブクラス 04h およびプロトコル 01h をサポート |
Rndismp.sys Rndismp.inf |
ウィンドウズ11 Windows 10 |
ハードウェア ベンダーが代わりに USB NCM 互換デバイスを構築することをお勧めします。 USB NCM は、スループット パフォーマンスが向上するパブリックな USB-IF プロトコルです。 RNDIS 施設では、単一のクラス ドライバー Rndismp.sys ですべての 802 スタイルのネットワーク カードが集中管理されます。 リモート NDIS の詳細については、リモート NDIS の概要に関するページを参照してください。 リモート NDIS から USB へのマッピングは、Usb8023.sys ドライバーに実装されています。 Windows でのネットワーク サポートの詳細については、「 ネットワークとワイヤレス テクノロジ」を参照してください。 |
| アプリケーション固有 (FEh) | - | - | - | 推奨されるドライバー: WinUSB (Winusb.sys) |
| ベンダー固有 (FFh) | - | - | ウィンドウズ11 Windows 10 |
推奨されるドライバー: WinUSB (Winusb.sys) |