Здравствуйте Vovkos, Вы писали:
V>Я вот одной вещи не понимаю. Ну почему бы не взять и не скопировать код из какого-нить работающего примера?
Так я и взял. Чуть-чуть подправил сам фильтр, посмотрел на внутренности TokenMon ( c www.sysinternals.com ) и по аналогии сделал свою DispatchGeneral. Инициализация там ИМХО почти такая же, вот только там IOCTL работает, а у меня не хочет.
Что-бы всё было предельно ясно, привожу полный код инициализации драйвера:
Здравствуйте ServerMouse, Вы писали:
SM>Здравствуйте Vovkos, Вы писали:
V>>Я вот одной вещи не понимаю. Ну почему бы не взять и не скопировать код из какого-нить работающего примера? SM>Так я и взял. Чуть-чуть подправил сам фильтр, посмотрел на внутренности TokenMon ( c www.sysinternals.com ) и по аналогии сделал свою DispatchGeneral. Инициализация там ИМХО почти такая же, вот только там IOCTL работает, а у меня не хочет.
Ну не верю что это код работающего драйвера — он вообще падать будет.
Объясни плз в каком примере (или в документации) ты увидел чтобы после RtlInitUnicodeString нужно делать RtlFreeUnicodeString?
Просто возьми пример из DDK и переправь имена девайсов и линков на свои.
Плюс еще. Когда у тебя GetLastError станет не 2, а 5 (это значит что симболиклинк по крайней мере настроен правильно) — убери флажок GENERIC_READ при CreateFile.
Здравствуйте Vovkos, Вы писали:
V>Ну не верю что это код работающего драйвера — он вообще падать будет. V>Объясни плз в каком примере (или в документации) ты увидел чтобы после RtlInitUnicodeString нужно делать RtlFreeUnicodeString?
Здравствуйте Vovkos, Вы писали:
V>Ну не верю что это код работающего драйвера — он вообще падать будет. V>Объясни плз в каком примере (или в документации) ты увидел чтобы после RtlInitUnicodeString нужно делать RtlFreeUnicodeString? V>Просто возьми пример из DDK и переправь имена девайсов и линков на свои. V>Плюс еще. Когда у тебя GetLastError станет не 2, а 5 (это значит что симболиклинк по крайней мере настроен правильно) — убери флажок GENERIC_READ при CreateFile.
Есть! Всё получилось! Спасибо большое, что тыкнули носом!
Вы правы по всем пунктам. RtlFreeUnicodeString действительно валило машину, а GENERIC_READ давал GetLastError()==5.
Теперь всё работает. Низкий вам поклон.
Здравствуйте ServerMouse, Вы писали:
SM>Есть! Всё получилось! Спасибо большое, что тыкнули носом! SM>Вы правы по всем пунктам. RtlFreeUnicodeString действительно валило машину, а GENERIC_READ давал GetLastError()==5. SM>Теперь всё работает. Низкий вам поклон.
Здравствуйте Vovkos, Вы писали:
V>Здравствуйте ServerMouse, Вы писали:
SM>>Есть! Всё получилось! Спасибо большое, что тыкнули носом! SM>>Вы правы по всем пунктам. RtlFreeUnicodeString действительно валило машину, а GENERIC_READ давал GetLastError()==5. SM>>Теперь всё работает. Низкий вам поклон.
V>Всегда пожалуйста =)))
Только лучше на ты, ок?