WinUSB

PIC32MX

WinUSBについて

一次情報 Microsoft


USB デバイスを製造するハードウェア メーカーは通常、アプリケーションがデバイスの機能にアクセスする方法を提供する必要があります。そのために、かつては、Windows Driver Model (WDM) を使用してデバイスのファンクション ドライバーを実装し、デバイス スタック内でシステム提供のプロトコル ドライバーの上にドライバーをインストールする必要がありました。現在、Windows Driver Foundation (WDF) が USB ドライバーの推奨モデルです。WDF は、USB デバイスへのアクセスを提供するため、下記の 3 つのオプションを提供します。

  • WDF ユーザー モード ドライバー フレームワーク (UMDF) を使用して、ユーザー モード ドライバーを実装する
  • WDF カーネル モード ドライバー フレームワーク (KMDF) を使用して、カーネル モード ドライバーを実装する
  • デバイスのファンクション ドライバーとして WinUsb.sys をインストールし、WinUSB API を使用してデバイスにアクセスするアプリケーションを提供する


  • いつものことながら、Microsoftの中の人は、何言ってるのかさっぱりわけわかんないので翻訳。


  • Windowsで自作USBデバイスのドライバーを書くには、いままではDDK(デバイスドライバー開発キット)と格闘しながら苦労して書く必要があったんだけど、
  • WinUSB.DLLを使ってくれるなら、デバドラ書かなくても自作USBデバイスを制御できるよん。

以上。


  • え?それって、これまでのLibUSB-win32とどこが違うの?
  • 本質的な違いは無いです。
  • WinUSBはWindows Vista以降で使用できる、microsoftが自ら実装したLibUSBもどきです。
  • WindowsXPでもWinUSBドライバーをインストールすれば使えます。




では、さっそく実践編