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

重要

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

このトピックでは、サポートされている USB デバイス クラス用の Microsoft 提供のドライバーをリストします。

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

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

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

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

USB-IF クラス コード デバイス セットアップ クラス Microsoft 提供のドライバーおよび INF Windows のサポート 説明
オーディオ (01h) メディア
{4d36e96c-e325-11ce-bfc1-08002be10318}
Usbaudio.sys

Wdma\_usb.inf

Windows 10 デスクトップ エディション (Home、Pro、Enterprise、Education)
Windows 10 Mobile
Windows 8.1
Windows 8
Windows 7
Windows Server 2008
Windows Vista
Microsoft では、Usbaudio.sys ドライバーを介して、USB オーディオ デバイス クラスのサポートを提供しています。 詳細については、「カーネル モード WDM オーディオ コンポーネント」の USB オーディオ クラス システム ドライバーに関するセクションを参照してください。 Windows のオーディオ サポートの詳細については、Windows 用のオーディオ デバイス テクノロジに関する Web サイトを参照してください。
通信および CDC 制御 (02h)
Ports
{4D36E978-E325-11CE-BFC1-08002BE10318}
Usbser.sys
Usbser.inf
Windows 10 デスクトップ エディション
Windows 10 Mobile
Windows 10 では、Usbser.sys を関数ドライバーとして自動的に読み込む、新しい INF (Usbser.inf) が追加されました。

詳細については、「USB シリアル ドライバー (Usbser.sys)」を参照してください

Modem
{4D36E96D-E325-11CE-BFC1-08002BE10318}

サブクラス 02h がサポートされます (ACM)

Usbser.sys
mdmcpq.inf を参照するカスタム INF
Windows 10 デスクトップ エディション
Windows 8.1
Windows 8
Windows 7
Windows Server 2008
Windows Vista
Windows 8.1 以前のバージョンでは、Usbser.sys が自動的に読み込まれることはありません。 ドライバーを読み込むには、モデム INF (mdmcpq.inf) を参照し、\[Install\] および \[Needs\] セクションを含む INF を作成する必要があります。

Windows Vista 以降では、「ワイヤレス モバイル コミュニケーション デバイス クラスのサポート」で説明されているように、レジストリ値を設定して、CDC およびワイヤレス モバイル CDC (WMCDC) のサポートを有効にすることができます。

CDC サポートが有効になっている場合、USB 共通クラスの汎用親ドライバーで、CDC および WMCDC コントロール モデルに対応するインターフェイス コレクションが列挙され、物理デバイス オブジェクト (PDO) がこれらのコレクションに割り当てられます。

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 で入手できます。
Net
{4d36e972-e325-11ce-bfc1-08002be10318}
サブクラス 0Eh がサポートされます (MBIM)
wmbclass.sys
Netwmbclass.inf
Windows 10 デスクトップ エディション
Windows 8.1
Windows 8
Windows 8 以降では、Microsoft により、モバイル ブロードバンド デバイス用の wmbclass.sys ドライバーが提供されています。 MB インターフェイス モデルに関するページを参照してください。
HID (ヒューマン インターフェイス デバイス) (03h) HIDClass
{745a17a0-74d3-11d0-b6fe-00a0c90f57da}
Hidclass.sys
Hidusb.sys
Input.inf
Windows 10 デスクトップ エディション
Windows 10 Mobile
Windows 8.1
Windows 8
Windows 7
Windows Server 2008
Windows Vista
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 10 デスクトップ エディション
Windows 8.1
Windows 8
Windows 7
Windows Server 2008
Windows Vista
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
Windows 10 デスクトップ エディション
Windows 8.1
Windows 8
Windows 7
Windows Server 2008
Windows Vista
Microsoft では、USB プリンターを管理する Usbprint.sys クラス ドライバーを提供しています。 Windows でのプリンター クラスの実装については、「印刷」のアーキテクチャとドライバーのサポートに関する Web サイトを参照してください。
大容量記憶装置 (08h)
USB Usbstor.sys Windows 10 デスクトップ エディション
Windows 10 Mobile
Windows 8.1
Windows 8
Windows 7
Windows Server 2008
Windows Vista
Microsoft では、Microsoft のネイティブ ストレージ クラス ドライバーを使用して USB 大容量記憶装置を管理するための、Usbstor.sys ポート ドライバーを提供しています。 このドライバーによって管理されるデバイス スタックの例については、「USB 大容量記憶装置のデバイス オブジェクトの例」を参照してください。 Windows 記憶域のサポートについては、記憶域テクノロジに関する Web サイトを参照してください。
SCSIAdapter

{4d36e97b-e325-11ce-bfc1-08002be10318}

サブクラス (06) とプロトコル (62)
Uaspstor.sys
Uaspstor.inf
Windows 10 デスクトップ エディション
Windows 10 Mobile
Windows 8.1
Windows 8
Uaspstor.sys は、一括ストリーム エンドポイントをサポートする SuperSpeed USB デバイス用のクラス ドライバーです。 詳細については、次のトピックを参照してください。
ハブ (09h) USB

{36fc9e60-c465-11cf-8056-444553540000}

Usbhub.sys
Usb.inf
Windows 10 デスクトップ エディション
Windows 10 Mobile
Windows 8.1
Windows 8
Windows 7
Windows Server 2008
Windows Vista
Microsoft では、USB ハブを管理するための Usbhub.sys ドライバーを提供しています。 ハブ クラス ドライバーと USB スタックの関係の詳細については、「Windows の USB ホスト側ドライバー」を参照してください。
Usbhub3.sys
Usbhub3.inf
Windows 10 デスクトップ エディション
Windows 8.1
Windows 8
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 デスクトップ エディション
Windows 7
Windows Server 2008
Windows Vista
Microsoft では、USB スマート カード リーダーを管理するための Usbccid.sys のミニクラス ドライバーを提供しています。 Windows のスマート カード ドライバーの詳細については、スマート カード設計ガイドに関するページを参照してください。

Windows Server 2003、Windows XP、Windows 2000 では、オペレーティング システムよりも後にリリースされている可能性があるため、このドライバーを読み込む場合は特別な指示が必要であることにご注意ください。

Usbccid.sys ドライバーは、UMDF ドライバーの WUDFUsbccidDriver.dll に置き換えられました。

WUDFUsbccidDriver.dll
WUDFUsbccidDriver.inf
Windows 8.1
Windows 8
WUDFUsbccidDriver.dll は、USB CCID スマート カード リーダー デバイス用のユーザーモード ドライバーです。
コンテンツ セキュリティ (0Dh) - - - 推奨されるドライバー:USB 汎用親ドライバー (Usbccgp.sys)。 一部のコンテンツ セキュリティ機能は、Usbccgp.sys に実装されています。 「Usbccgp.sys のコンテンツ セキュリティ機能」を参照してください。
ビデオ (0Eh) 画像
{6bdd1fc6-810f-11d0-bec7-08002be2092f}
Usbvideo.sys

Usbvideo.inf

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

Windows Vista

Microsoft では、Usbvideo.sys ドライバーを介して USB ビデオ クラス サポートを提供しています。 詳細については、AVStream ミニドライバーに関するページの「USB ビデオ クラス ドライバー」を参照してください。

Windows XP では、オペレーティング システムより後にリリースされている可能性があるため、このドライバーを読み込む場合は特別な指示が必要であることにご注意ください。

個人の医療 (0Fh) - - - 推奨されるドライバー:WinUSB (Winusb.sys)
オーディオおよびビデオ デバイス (10h) - - - -
診断デバイス (DCh) - - - 推奨されるドライバー:WinUSB (Winusb.sys)
ワイヤレス コントローラー (E0h)

サブクラス 01h とプロトコル 01h がサポートされます

Bluetooth

{e0cbf06c-cd8b-4647-bb8a-263b43f0f974}

Bthusb.sys

Bth.inf

Windows 10 デスクトップ エディション
Windows 10 Mobile
Windows 8.1
Windows 8
Windows 7
Windows Vista
Microsoft では、USB Bluetooth ラジオを管理するための Bthusb.sys ミニポート ドライバーを提供しています。 詳細については、Bluetooth 設計ガイドに関するページを参照してください。
その他 (EFh) Net

{4d36e972-e325-11ce-bfc1-08002be10318}

サブクラス 04h とプロトコル 01h がサポートされます

Rndismp.sys
Rndismp.inf
Windows 10 デスクトップ エディション
Windows 8.1
Windows 8
Windows 7
Windows Vista

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

Windows Vista より前の場合、CDC のサポートは、ベンダー固有のプロトコル (bInterfaceProtocol) 値が 0xFF の抽象コントロール モデル (ACM) の RNDIS 固有の実装に限定されていました。 RNDIS 施設では、単一のクラス ドライバー Rndismp.sys ですべての 802 スタイルのネットワーク カードが集中管理されます。 リモート NDIS の詳細については、リモート NDIS の概要に関するページを参照してください。 リモート NDIS から USB へのマッピングは、Usb8023.sys ドライバーに実装されています。 Windows でのネットワーク サポートの詳細については、ネットワークとワイヤレス テクノロジに関する記事を参照してください。

アプリケーション固有 (FEh) - - - 推奨されるドライバー:WinUSB (Winusb.sys)
ベンダー固有 (FFh) - - Windows 10 デスクトップ エディション
Windows 10 Mobile
推奨されるドライバー:WinUSB (Winusb.sys)

Microsoft が提供する USB ドライバー