Сделал простой PnP драйвер фильтр. Проблема в следующем: после того, как драйвер заходит в и выходит в DriverEntry он сразу заходит в DriverUnload. AddDevice, в которой идет подключение к стеку устройств не вызывается. Драйвер загружаем с помощью АПИ Service Control Manager. Почему так я, в принципе, понимаю, ибо AddDevice должен вызывать драйвер шины, к которой подключиться PnP устройство, но так как у меня драйвер фильтр(мыши), то там уже все поделили. ЗЫ. Скомпилил похожий драйвер с DDK -- с ним тоже.
Вопрос: Как быть?? ... Стараюсь что-то сделать с помощью inf файла, но после того как я делаю "Панель управления => Мастер установки устройств => ... => Установить с диска", мне пишут "Соответствуеще устройство не найдено".
Извиняюсь за грубость, но это вопрос из серии "Я собрал нечто, а оно не работает. Объясните почему." Если в двух словах, то PnP дрова грузит PnP менеджер, в соответствии с записями в реестре. Эти записи можно добавить в реестр любым доступным способом, в том числе используя inf-файл. Если с inf-файлом случается облом, то и записей соответствующих в реестре нет. Поэтому PnP менеджер не знает о том, что этот драйвер надо загрузить. Для начала, можно поиграться с ctrl2cap от sysinternals.com - это наипростейший PnP фильтр на клаву. Ну а дальше читать ДДК и разбирать примеры, особливо toaster. Песня эта очень длинная... Сказать, что-то более вразумительное, затруднительно.
Спасибо Four-F, все предельно ясно. Сделал записи в реестре и все стало на свои места. Сейчас все-таки хочу сделать остановку/запуск драйвера с помощью Service Control менеджера, так будет удобнее для отладки.