То, что вы изменяете подпись на Windows NT, волшебным образом не превращает драйвер в драйвер NT. Модель драйвера, используемая в Windows NT, существенно отличается от Windows 9x и достаточно отличается, чтобы требовать, чтобы на многих устройствах использовались совершенно разные драйверы для двух операционных систем.
Конечно, сообщение об ошибке немного сбивает с толку, потому что XP действительно «позже», чем Windows 95, но это не более новая версия Windows 95. Это будет либо Windows 98, либо Me. Вам нужно найти драйвер, который написан для Windows 2000 или XP, оба основаны на кодовой базе Windows NT.
Но если у файла INF драйвера, который у вас сейчас есть, есть подпись $Windows 95$
, то вы можете быть уверены, что это не драйвер NT, и он волшебным образом не станет таковым, изменив его на $Windows NT$
.
Что касается общей инструкции по пониманию и написанию драйверов устройств, ознакомьтесь с ответами на эти вопросы:
- https://stackoverflow.com/questions/4288582/windows-nt-device-driver-development-book
- https://stackoverflow.com/questions/3369160/best-book-for-learning-windows-device-driver-development
Но справедливое предупреждение: модель драйвера снова изменилась в Windows Vista. Если вы хотите написать драйверы для устройств, работающих на Windows Vista и 7, вам необходимо убедиться, что вы узнаете об обновленной модели. Если вам все еще нужны драйверы для поддержки устаревших операционных систем, таких как Windows 2000 / XP, то вам нужно использовать более старый ресурс, в котором рассказывается об этих операционных системах.