Windows に含まれる USB デバイス クラス ドライバー

重要

このトピックはプログラマー向けです。 USB に関する問題が発生している場合は、「一般的な USB の問題のトラブルシューティング」を参照してください

この記事では、サポートされている USB デバイス クラス用のマイクロソフト提供ドライバーの一覧を示します。

  • USB-IF 認定デバイス クラス用の Microsoft 提供のドライバー。
  • 複合デバイスの場合は、USB 汎用親ドライバー (Usbccgp.sys) を使用します。これにより、各関数の物理デバイス オブジェクト (PDO) が作成されます。
  • 非複合デバイス、または複合デバイスの関数の場合は、WinUSB (Winusb.sys) を使用します。

USB ドライバーをインストールする場合: USB デバイス クラス ドライバーをダウンロードする必要はありません。 これらは自動的に再インストールされます。 これらのドライバーとそのインストール ファイルは、Windows に含まれています。 \Windows\System32\DriverStore\FileRepository フォルダーで使用できます。 ドライバーは Windows Update を通じて更新されます。

カスタム ドライバーを作成する場合: USB デバイス用のドライバーを作成する前に、マイクロソフト提供ドライバーがデバイスの要件を満たしているかどうかを確認します。 デバイスが属する USB デバイス クラスでマイクロソフト提供ドライバーを使用できない場合、汎用ドライバー (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 では、マイクロソフト提供のクラス ドライバーである、Usbaudio.sys が読み込まれます。 デバイス マネージャーでは、デバイスが [サウンド、ビデオ、およびゲーム コントローラー] に表示されます。これは、デバイス セットアップ クラスが Media であることを示します。

Microsoft 提供の USB デバイス クラス ドライバー

USB-IF クラス コード デバイス セットアップ クラス マイクロソフト提供
ドライバーと INF
Windows のサポート 説明
オーディオ (01h) Media
{4d36e96c-e325-11ce-bfc1-08002be10318}
Usbaudio.sys
Wdma_usb.inf
Windows 11

Windows 10 デスクトップ エディション (Home、Pro、Enterprise、Education)

Windows 10 Mobile

Windows 8.1
マイクロソフトでは、Usbaudio.sys ドライバーを使用した USB オーディオ デバイス クラスのサポートを提供しています。 詳細については、「カーネル モード WDM オーディオ コンポーネント」の USB オーディオ クラス システム ドライバーに関するセクションを参照してください。 Windows のオーディオ サポートの詳細については、Windows 用のオーディオ デバイス テクノロジに関する Web サイトを参照してください。
通信および CDC 制御 (02h) ポート
{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) Modem
{4D36E96D-E325-11CE-BFC1-08002BE10318}

サブクラス 02h (ACM) をサポート
Usbser.sys

mdmcpq.inf を参照するカスタム INF
Windows 11

Windows 10 デスクトップ エディション

Windows 8.1
Windows 8.1 以前のバージョンでは、Usbser.sys は自動的に読み込まれません。 ドライバーを読み込むには、モデム INF (mdmcpq.inf) を参照し、[Install] セクションと [Needs] セクションを含む INF を記述する必要があります。「ワイヤレス モバイル通信デバイス クラスのサポート」の説明に従ってレジストリ値を設定することにより、CDC およびワイヤレス モバイル CDC (WMCDC) のサポートを有効にすることができます。CDC のサポートが有効になると、USB 共通クラス汎用親ドライバーは、CDC および WMCDC コントロール モデルに対応するインターフェイス コレクションを列挙し、これらのコレクションに物理デバイス オブジェクト (PDO) を割り当てます。
通信および CDC 制御 (02h) Net
{4d36e972-e325-11ce-bfc1-08002be10318}

サブクラス 0Dh (NCM) をサポート
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}

サブクラス 0Eh (MBIM) をサポート
cxwmbclass.sys
wmbclass.sys
Netwmbclass.inf
Windows 11

Windows 10 デスクトップ エディション

Windows 8.1
マイクロソフトは、モバイル ブロードバンド デバイス用の 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 - アーキテクチャとドライバーのサポート」Web サイトをご覧ください。
物理 (05h) - - - 推奨されるドライバー: WinUSB (Winusb.sys)
イメージ (06h) イメージ
{6bdd1fc6-810f-11d0-bec7-08002be2092f}
Usbscan.sys
Sti.inf
Windows 11

Windows 10 デスクトップ エディション

Windows 8.1
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 は、デバイス セットアップ クラス プリンター {4d36e979-e325-11ce-bfc1-08002be10318} を列挙します。
Usbprint.sys
Usbprint.inf
Windows 11

Windows 10 デスクトップ エディション

Windows 8.1
Microsoft では、USB プリンターを管理する Usbprint.sys クラス ドライバーを提供しています。 Windows でのプリンター クラスの実装については、「印刷」のアーキテクチャとドライバーのサポートに関する Web サイトを参照してください。
大容量記憶装置 (08h) USB Usbstor.sys Windows 11

Windows 10 デスクトップ エディション

Windows 10 Mobile

Windows 8.1
Microsoft では、Microsoft のネイティブ ストレージ クラス ドライバーを使用して USB 大容量記憶装置を管理するための、Usbstor.sys ポート ドライバーを提供しています。 このドライバーによって管理されるデバイス スタックの例については、「USB 大容量記憶装置のデバイス オブジェクトの例」を参照してください。 Windows 記憶域のサポートについては、記憶域テクノロジに関する Web サイトを参照してください。
大容量記憶装置 (08h) SCSIAdapter
{4d36e97b-e325-11ce-bfc1-08002be10318}
サブスクラス (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 ドライバーを提供しています。 ドライバーは、SuperSpeed ハブが xHCI コントローラーに接続されているときに読み込まれます。 「Windows の USB ホスト側ドライバー」を参照してください。
CDC データ (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) イメージ
{6bdd1fc6-810f-11d0-bec7-08002be2092f}
Usbvideo.sys
Usbvideo.inf
Windows 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
Windows 11

Windows 10 デスクトップ エディション

Windows 10 Mobile
Microsoft では、USB Bluetooth ラジオを管理するための Bthusb.sys ミニポート ドライバーを提供しています。 詳細については、Bluetooth 設計ガイドに関するページを参照してください。
その他 (EFh) Net
{4d36e972-e325-11ce-bfc1-08002be10318}

サブクラス 04h およびプロトコル 01h をサポート
Rndismp.sys
Rndismp.inf
Windows 11

Windows 10 デスクトップ エディション

Windows 8.1
ハードウェア ベンダーが代わりに USB NCM 互換デバイスを構築することをお勧めします。 USB NCM は、スループット パフォーマンスが向上するパブリックな USB-IF プロトコルです。

RNDIS 施設では、単一のクラス ドライバー Rndismp.sys ですべての 802 スタイルのネットワーク カードが集中管理されます。 リモート NDIS の詳細については、リモート NDIS の概要に関するページを参照してください。 リモート NDIS から USB へのマッピングは、Usb8023.sys ドライバーに実装されています。 Windows でのネットワーク サポートについて詳しくは、「ネットワークとワイヤレス テクノロジ」をご覧ください。
アプリケーション固有 (FEh) - - - 推奨されるドライバー: WinUSB (Winusb.sys)
ベンダー固有 (FFh) - - Windows 11

Windows 10 デスクトップ エディション

Windows 10 Mobile
推奨されるドライバー: WinUSB (Winusb.sys)