|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Фев 27, 2003 19:54:23 Привет! простите, что может быть, задаю глупый вопрос, но как я могу отослать сообщение в приложение. перерыл весь DDK, но ничего, кроме раритетного _SHELL_PostMessage не нашел. Есть ли возможность сделать это без особых трудозатрат. |
|
|
Дата: Фев 28, 2003 14:59:06 Вопрос совсем не глупый. Ответа я, к сожалению, не знаю. Попробуй глянь тут: KMD <-> UM Не совсем то что те нужно, но мож поможет. |
|
|
Дата: Фев 28, 2003 16:33:16 не нашел. я сталкнулся с проблемой синхронизации драйвера и приложения. задачу можно охаректеризовать так: существует обработчик прерываний r0. при выполнении определенного условия, например вводе нужного сканкода с клавиатуры драйвер должен сообщить об этом в приложение. я пробовал использовать для этого IoCreateNotificationEvent, но даже событие не создавалось. конечно, я могу записывать в область данных приложения по заранее оговоренному адресу некоторую переменную-флаг, которая будет извещать приложение о выполнении условия на кольце 0. тогда, я должен строить приложение с отдельным потоком, который будет непрерывно сканировать флаг. но, хотелось бы, чтобы система обладала свойством системы реального времени. ни один из перечисленных выше методов передачи управления в приложение не годится для СРВ. выходит, что я не понимаю, каким образом должна достигаться риалтаймовость(простите) сцепки драйвер-приложение. об этом можно где-либо прочитать? |
|
|
Дата: Фев 28, 2003 19:59:50 интересная особенность в работе PKEVENT IoCreateNotificationEvent(IN PUNICODE_STRING EventName, OUT PHANDLE EventHandle). она создает событие, возвращаемое в EventHandle, которое очень похоже на аналогичный объект Win32. но: 1. WinObj его не видит. 2. ф-я OpenEvent тоже, хотя в DDK написано: to the \\BasedNamedObjects object directory. но "сесть" на него всё-таки можно - надо передать EventHandle в приложение(я пользовался DeviceIOControl) и использовать его. Event должен иметь вид "\EventString". тогда все работает. |
|
|
Дата: Мар 1, 2003 11:56:34 · Поправил: Four-F Я так и думал, чо те именно синхронизация нужна. По той ссылке, что я дал выше, ты должен добраться до статьи на microsoft.com как раз о синхронизации. Но есть ресурс получше. Иди сюда: The NT Insider Back Articles Пройдись по годам, прямых ссылок у мя нет, т.к. все на винче лежит. Тебе нужны следующие статьи: 1997 1. Tools of the Trade: A Catalog of NT Synchronization Mechanisms 2002 2. Synchronicity -- A Review of Synchronization Primitives 3. Sharing is Caring -- Sharing Events Between Kernel-User Mode Может я ченить пропустил - там много интересного. |
|
|
Дата: Мар 3, 2003 10:59:49 Большое спасибо! нашел много интересного - изучаю. к стати, IoCreateSymbolicLink не помогла - событие все равно не видно в API среде :{ |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.068 |