информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Атака на InternetГде водятся OGRы
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Связывайся, что мешает? [upd] 16.02.05 14:41  Число просмотров: 2377
Автор: amirul <Serge> Статус: The Elderman
Отредактировано 16.02.05 14:44  Количество правок: 1
<"чистая" ссылка>
> Надо связаться с DDK-ными фильтрами клавы и мыши
> (kbfiltr.c, moufiltr.c) как из Kernel (обратится из kbfiltr
> в moufiltr) так и из User mode.

Связывайся, что мешает?

> Что для фильтра нельзя задать DeviceName? Если задаю его

> при вызове IoCreateDevice, то ошибка. в kbfiltr.c вместо
> DeviceName в IoCreateDevice передается NULL. Как тогда
> связыватся с фильтром без имени? или надо обращаться к
> имени драйвера клавиатуры, а не фильтра?

Сам ответил на свой вопрос.

> В User mode пытаюсь определить имена имеющиеся драйверов.

Э-э-э. А зачем это?

> Вызываю SetupDiGetClassDevs(), затем
> SetupDiEnumDeviceInterfaces(), последний возвращает

Ну дык это ж интерфейсы девайса. Если ты при этом указал класс клавиатуры, то она использует для связи с третьим кольцом символические ссылки, а не интерфейсы и тебе совершенно правильно вернули статус отсутствия интерфейсов у этого девайса.

> ERROR_NO_MORE_ITEMS. Смотрел несколько примеров из DDK
> использующих SetupDiEnumDeviceInterfaces() там тоже
> ERROR_NO_MORE_ITEMS.
> Подскажите, как сделать, а то уже зашол в тупик.

Если тебе ДЕЙСТВИТЕЛЬНО надо перечислить все драйвера в системе, то гораздо приятнее пользоваться NtOpenDirectoryObject/NtQueryDirectoryObject


> PS:
> А объединить два фильтра (клавы и мыши) в одном драйвере
> можно? Если да то как?

По моему ты путаешь устройства (Device) и драйверы (Driver). Один драйвер может управлять произвольным количеством устройств в том числе и устройств-фильтров.
-----

А еще лучше пользоваться специально для этого предназначенной NtQuerySystemInformation
<programming> Поиск 






Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach