新適当マイコン電子工作研究所
USBプロジェクト - Window..

1469810 昨日の続きです。 HIDクラス・デバイスを表す「パス名」のリストからスタートです。

STEP4 : 後片付けを忘れずに 前回、入手した「鍵のリスト」は、「パス名のリスト」が手に入った今となっては不要です。 不要になったからといって、放っておくと、メモリがどんどん消費されてしまいます。 不要になったら、きちんと捨てる。 これが、Winodwsの流儀です。

「鍵のリスト」を廃棄するための関数は、 SetupDiDestroyDeviceInfoList()です。

ここまでの手順は、 DeviceManagement.FindDeviceFromGuidにあります。 何も考えずに使わせてもらっても動きます。

STEP5 : お目当てのデバイスを探せ 「パス名のリスト」が手に入ったので、ここからお目当てのデバイスを探します。 探し出すためには、「パス名」を元にファイルを開き、そのファイルの属性(Attribute)を調べます。

ファイルを開く関数は、一般のファイルと同じCreateFile()です。 宣言は、"FileIODeclaration.vb"に記述されています。

ファイルの属性を取り出す関数は、HidD_GetAttributes()です。 「お目当てのデバイス」を見つけるための手がかりとして使っているのが、 ベンダID (VenderID) とプロダクトID (ProductID) です。 この二つのIDが一致したときに、デバイスが見つかったと判断します。

属性を調べ終わったら、ファイルを閉じておきます。 ファイルを閉じる時に使う関数は、CloseHandle()です。

STEP6 : デバイス取り外し時のイベントを受け付けろ USBデバイスは、動作中に抜き差ししても良いことになっているので、 抜かれた時に発生するイベントを受信する必要があります。 イベントを受信するオブジェクトを指定する関数は、 RegisterDeviceNotification()です。

この関数の呼び出しには、いくつ物手順を踏む必要があります。 お手本プログラムの"hidclass_vs5"の場合は、 "DeviceManagement.RegisterForDeviceNO
[1/3ページ]
次ページ[6]>>

(USB)08-03-12 23:27


<<[*]前へ  次へ[#]>>

nice! :(0)

コメント:(2)

コメントを書く
お名前:

URL:

コメント:

画像認証: [必須]


※画像の中の文字を半角で入力してください。


トラックバック:(0)

<<[*]前へ  次へ[#]>>

ヘルプ
使い方
Q&A
利用規約
Copr. 2024 Seesaa