Сообщения из ядра
От: Ignoramus  
Дата: 17.11.03 13:34
Оценка:
Господа!

Хочу написать драйвер, который, подобно хуку мышки, будет пропускать через себя ввод через это устройство и передавать сообщения моему приложению.

На данный момент мне удалось "написать" WDM-драйвер пустышку, который устанавливается как "upper filter" к какому-либо устройству и выдает в DebugPrint информацию обо всех IOCTL, которые этому устройству передаются системой.

Теперь меня интересуют следующие ламерские вопросы:

1) Можно ли из ядра передавать сообщения окнам? Обязательно всем (broadcast) или можно указать конкретное окно? Как получить хендл окна из ядра? (Я читал, что для общения драйвера с приложениями обычно используются объекты ядра (event, mutant etc.), но ведь это, насколько я понимаю, довольно медленный механизм, а если сообщения "сыпятся" очередями, то будет тормозить? Так хочется просто послать сообщение... )

2) Каким образом проходят сообщения от lower драйверов? Т.е. в отличие от IOCTL, которые передаются системой "сверху вниз", сообщения от реальных устройств очевидно движутся в обратном направлении, т.е. "снизу вверх". Как выглядят сообщения от lower драйверов в upper драйвере? Какой механизм используется чтобы сообщить системе о возникновении ввода? Как сообщения затем "расбрасываются" по окнам системой?

Спасибо.

19.11.03 03:22: Перенесено модератором из 'WIN API' — H_D
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.