tifications()"というメソッドにすべて記述されていますので、
そのまま呼び出すだけで十分です。
イベントが発生したら、フォームのWndProc()というメソッドが呼び出されます。
STEP7 : パイプを開け
HIDデバイスとレポートを送受信するために使用されるのは、
WriteFileとReadFileという関数です。
そうです。普通のファイルの読み書きと何ら変わらないのです。
そのため、送受信に使用されるパイプを開くときも
普通のファイルと同様にCreateFile関数が使用されます。
STEP8 : データを送信する
データを送信する場合には、WriteFile関数を使用します。
お手本の"hidclass_vs5"では、
送信すべきレポートがOutputReportクラスとして定義されているので、
インスタンスを作成し、Writeメソッドを呼び出したらおしまいです。
STEP9 : データを受信する
データを受信する場合、ReadFile関数を使用します。
受信の場合には、送信の場合と異なり、データの受信が終わるまで次の処理に進むことが出来ないのが常です。
それまで待っているいるのも無駄なので、「データが受信できたら呼んでね。」という意味の
コールバックと呼ばれる関数を定義し、InputReportクラスの
Readメソッドを呼び出します。
これら送受信にかかる一連の操作は、
ExchangeInputAndOutputReports()に記述されています。
全部理解しなくても十分に使えています。
こうやって、まとめを書いてみると、レポートの送受信のところの理解がまだ甘い事に気が付きます。
特にDelegateが出てくると、とたんにややこしくなります。
まだ、修行が足りないな。
参考サイト
HIDClass Devices
Micro$oftの解説書は、ここにあります。
日本語版もあるのですが、迷訳なので、英語版の方がおすすめです。
http://i-wanna-metamorphose.blogspot.com/2008/02/so-net-blogusb-reportdescri.html
ここにもがんばっている方がいらっしゃいました。