Fri
May 01
2009
USBデバイスの製作(8)
HIDホストの覚書。アトメル社の
generic_usb_hid_2008-11-19.zip
のところで書き忘れたのだが、HIDのdllでイベントの通知ができる。
例えばデバイスの抜き差しでイベントが発生する。
この中の資料を読めばいいのだが
1.デバイスにコネクトする(VIDとPIDを入れて呼び出す)
DYNCALL(findHidDevice)(Vid, Pid)
2.デバイスのイベント通知を登録する
DYNCALL(hidRegisterDeviceNotification)((m_hWnd));
メッセージマップに ON_WM_DEVICECHANGE()
を入れておく。
すると
OnDeviceChange(UINT nEventType, DWORD dwData)
のイベントがくるようになる。
nEventTypeはDBT_DEVICEARRIVALかDBT_DEVICEREMOVECOMPLETE。
来たら
DYNCALL(isMyDeviceNotification(dwData))
を呼んで自分のイベントかどうかをチェックすることで判定している。
Delphiでも一般的なメッセージフックは可能なので、それでやってみる。
無事動いているようだ。
by at 09:00
コメントはありません