|
http://libusb-win32.sourceforge.net/ 特にドライバを書かなくてもWin32ユーザモードアプリケーションからUSBデバイスを叩ける便利なドライバ。 libusb互換。qemu-win32、DisplayLinkのUSB-VGAコンバータ等で利用されている。 利用Cygwinや通常のWin32アプリケーションから利用できる。 pyusbなどのWrapperも大抵サポートしている。libusbを参照のこと。 バックエンド
他のlibusbと異なり、このLibUsb-Win32は、現在の所明示的にデバイスドライバを組み込む必要がある。 デバイスドライバリリースされている唯一のバックエンドで、通常はこちらを利用する。 デバイスドライバはさらに2つの形態を持ち、それぞれ全く異なる方法でUSBデバイスへのアクセスを行う。どちらを利用したとしても利用できるlibusbのAPIは同一であり、両者は正常に共存できる。 フィルタドライバ
フィルタドライバ(Upper filter)として組み込む。既存のUSBドライバを利用しつつ、その動作をインターセプトするので、既存のドライバと動作が競合することが有る。 USBイベントをフィルタリングすることで、デバイスドライバの組み込み等は自動化される。つまり、一度組み込めば、ホストに接続された全てのUSBデバイスをlibusbのAPIから制御できる。 VMware等、他のフィルタドライバを要求するソフトウェアとは共存できない - この記述は古く、現状は不明(.mjt) SnoopyPro等のモニタリングソフトウェアとは共存可能。 デバイスドライバ(こちらはWindowsVista以降でも使用できる。) 普通のデバイスドライバとして組み込む。デバイスに応じたinfの書き換えとデバイス毎のインストール作業が必要。 infの準備を簡略化するウィザードが付属する。 こちらの方が安定して動作する。製品付属のドライバがlibusbとなっている場合もこれ。 デバイスドライバ vs フィルタドライバ
アイデアとしては、WinPcapのtunとtapの違いに近い。つまり、フィルタドライバは、tapのように既存のドライバも使いつつUSBパケットをlibusbのAPIによって『割り込ませる』ことができる。対して、デバイスドライバはtunのように独立したデバイスを提供する。 HID?(開発中)2007/7現在まだリリース版に含まれていない。 WindowsがHID?と認識しているデバイスをlibusbの呼び出しで制御できる。 WinUSB(開発中)2007/7現在まだリリース版に含まれていない。 WindowsVistaで新しく装備された汎用ドライバをバックエンドとして利用できる。 HIDと同じくlibusbの提供するドライバをインストールする必要はない。(但し、WinUSBのドライバそのものはインストールする必要がある) Alternative
使用方法(libusb0)フィルタドライバ版とデバイスドライバ版の両方をインストールする必要は無いが、もし両方をインストールしたとしても共存すること自体は可能。 API等は基本的にlibusbと同一であるため同じように使えばよい。ただし、OS毎に細かい差異が有ることに気を付ける必要がある。
フィルタドライバ版libusb-win32-filter-bin-x.x.x.x.exeをダウンロードしてインストール。 デバイスドライバ版制御対象デバイスを接続する前に以下の準備を行う。
幾つかのデバイス(マスストレージやHIDのようなWindows標準のドライバが存在するデバイス)は、この方法ではインストールできない。この場合、
としてインストールすることが出来る。 Tipsフィルタドライバのインストール/アンインストール
デバイスドライバのインストールこのセクションはフィルタドライバ版には関係が無い。フィルタドライバ版は全てのUSBデバイスに対してインターセプトできる。
互換性
|