Консультация № 195933
04.07.2019, 18:59
0.00 руб.
0 6 0
Уважаемые эксперты! Пожалуйста, ответьте на вопрос:
Написал простетцкий драйвер, который хочу запустить на Windows 10 x64, так как на x64 нельзя установить не подписанный драйвер, в итоге, пропуская нюансы, нужно иметь .inf файл, не подскажите как писать самому заполнять .inf, так как шаблона единого не нашёл, взял в примеры другие .inf файлы, и ествественно у меня выдало - "стиль INF отличается от затребованного", то есть Он заполнен Мной не правильно.
ПС. про отключение проверки подписи знаю.
Буду благодарен.

Обсуждение

давно
Мастер-Эксперт
259041
7459
05.07.2019, 15:05
общий
Адресаты:
Я не спец по написанию драйверов. Но я написал много скриптов, автоматизирующих настройку свеже-установленной ОперСистемы. В том числе мне приходилось программно редактировать inf-файлы для приложений, в которых желаемые настройки хранятся в inf-файлах.
Затратив много времени на написание прог-редактора первого inf-файла, я надеятся, что дальше пойдёт по "накатанному" пути. Однако, я с удивлением обнаружил, что в разных драйверных и прочих настроечных inf-файлах разный синтаксис!
Да Вы и сами уже заметили "стиль INF отличается от затребованного". Поэтому я сделал вывод : стиль должен соответствовать программе, читающей этот inf-файл . Для некоторых своих программ я пишу настроечные inf-файлы в произвольно-упрощённом синтаксе, и всё работает!

Особенность Ваших inf-файлов в том, что их читает установщик устройств ОперСистемы. Поэтому Вам нужен образец не любого "как писать самому заполнять .inf" (как Вы спрашивали), а .inf системного устройства. Их образцы смотрите в папке \Windows\inf\ Вашей ОперСистемы.
давно
Управляющий
143894
2148
09.07.2019, 08:16
общий
Адресаты:
А вы слышали что-нибудь о SETUPAPI и ADVANCEDINF?
Эти интерпретаторы как раз читают inf-файлы. Начните копать в эту сторону, а когда разберетесь в особенностях их работы, тогда уже пишите хоть простецкие драйвера, хот не простецкие.
Всегда надо начинать с головы, а не с хвоста.
Об авторе:
Устав – есть устав! Если ты устав – то отдыхай!


давно
Посетитель
402218
66
09.07.2019, 15:37
общий
Адресаты:
Спасибо, как раз занимаюсь изучением подобного материала, и уже многое Мне стало понятным.
А получилось всё так, то есть с "хвоста" по той причине что драйвера то писал сразу с программой которая устанавливала его, или пользовался KMDmanager ом. А в .inf упёрся когда начал заниматься самоподписанием драйверов для x64 виндоусов. Изучая это, как раз и понимаю что не линейно у Меня всё происходит :)
давно
Посетитель
402218
66
14.07.2019, 10:36
общий
Адресаты:
Прочитал про .inf и то как с ними взаимодействуют интерпретаторы, всё стало наиболее понятно при просмотре .inf файла, но в тоже время понимаю, что различие в разных файлах по той причине что они для разных устройств, и вопрос такой -написан драйвер для воспроизведения звука из сис динамика, на 32 битном работает нормально, на х64 блокируется (запускал через KMDmanager), и смотря на структуру .inf файла понимаю что к какому классу отнести этот драйвер, я не знаю, и это только очевидный вопрос, если бы были примеры *.inf для разных устройств, а так же и не для устройств, так как по мере изучения написания драйверов, был например и с тем, как вывести на экран параметров GDT, какой класс GUID у такого драйвера не знаю даже. На docs.microsoft читать начал, но там пример драйвера для файловой системы, что пока что является(Я так думаю) одним из следующих этапов в изучении. На этом пока что Я за стопорился, не могли бы Вы посоветовать, как дальше продолжить, а то у меня разветления в изучении что самому смешно :)
давно
Управляющий
143894
2148
15.07.2019, 11:10
общий
15.07.2019, 11:12
Адресаты:
Не совсем понятно о чем вы пишите. Попробуйте описать проблему короткими осмысленными предложениями со знаками препинаний.

На счет GUID любого системного устройства - то заходите в диспетчер устройств находите раздел Системные устройства и выбрав что вам нужно (например, встроенный динамик) смотрите свойства где и находите GUID.
Об авторе:
Устав – есть устав! Если ты устав – то отдыхай!


давно
Посетитель
402218
66
15.07.2019, 11:52
общий
Адресаты:
Я рассказывал о примере, есть драйвер, и есть программа которая его запускает. Драйвер берет данные из 0го кольца(адрес/лимит GDT к примеру) и пересылает их запускающей программе, которая выводит в диалоговом окне эти данные. Мне трудно понять какой GUID будет.
Форма ответа