Задача такая: Сделать драйвер виртуального джойстика. Причем с возможностью изменения его конфигурации (число осей/кнопок) и возможностью его включения/отключения из user-mode без использования админских прав. Я изначально написал драйвер на основе сэмпла vhidmini http://msdn.microsoft.com/en-us/library/dd163263.aspx Исходники - http://read.pudn.com/downloads74/sourcecode/windows/system/269588/vhidmini/sys/vhidmini.c__.htm Там драйвер регистрируется функцией HIDRegisterMinidriver() и при инициализации ему передается дескриптор с описанием устройства (что это джойстик с таким-то кол-вом осей и кнопок). Пробовал делать отключение драйвера из user-mode функцией SetupDiSetClassInstallParams/SetupDiCallClassInstaller: работает, но они требуют админских прав, к томуже это не решает задачи с изменением конфигурации джойстика. Т.е. мне нужно походу из user-mode вызывать свою ф-цию (через DeviceIoControl) в драйвере а уже в ней (kernel-mode) делать отключение например. Но как сделать отключение или переинициализацию (чтобы указать новое кол-во осей/кнопок) мне непонятно. Возможно ли это вообще?
Видимо сложный вопрос. Тогда есть другой: можно ли как нибудь один драйвер отключить через другой? Т.е. так чтобы он пропал из диспетчера устройств и вызвалась ф-ция DriverUnload