F>>В принципе, я могу и реверснуть dll'ку, но может как-то можно не через проход :)?
LD>Есть еще один метод: пишешь сервис, котырый сидит и ждет какого-то event. Этот event будет возбуждаться драйвером. По которому сервис запрашивает у драйвера класс необходимы тому информации, и соответственно возвращает ее. (Штука в том, что сервис это вообщем-то обычная user-mode программа, но он может работать даже в том случае, когда пользователь еще не вошел в систему.)
Да с event'ами можно и просто сидеть в ring3 (и COM там обрабатывать). Только по некоторым данным рассогласование между установкой event'а и реакцией на него в ring3 (возвращением из WaitForXxx) проходит от 1 до 68 мс (тред был TIME_CRITICAL). Что не очень в моей задаче подходит (ладно было б именно 68, а тут такой интервал). Поэтому и хочеться в ring0 оставаться.