Программирование драйверов Windows




Проверка синтаксиса INF файла - часть 2


не отреагировала на секции и директивы установки нового класса устройств ExampleDrvClass (к тому же, к моменту проверки новый класс уже находился в Системном Реестре). Можно заменить класс на Unknown, но тогда утилита CHKINF будет "недовольна" тем, что это &#8212 устаревший класс. Если попробовать ввести класс USB, то утилита CHKINF будет вполне "удовлетворена", хотя не отследит неверный формат идентификатора модели (неверный для USB устройства, см. ниже), который задан здесь как "*svpBook\Example". Это лишний раз подтверждает тот факт, что CHKINF проверяет только базисные правила синтаксиса и структуры inf-файлов.

Предупреждения тоже имеют несложные объяснения.

Первое (W22.1.2212) указывает на то, что в inf-файле нет записи copyright. Исправляется этот недостаток следующим образом:

; Example.Inf - install information file ; Created 22 feb 2002 by SVP ; Copyright (c) SVP 2003. All rights reserved.

Последняя строка, которая добавлена для устранения данного предупреждения, хотя формально и является комментарием, но считается информативной относительно авторских прав (содержит ключевые слова Copyright (c)).

Второе предупреждение (W22.1.2023) указывает:

[SourceDisksNames] 1="Example build directory",,, ; (W22.1.2023) Use a string token, and put localizable text ; in the [Strings] section.

To есть рекомендуется заменить строку "Example build directory" на маркер, значение которого следует раскрыть в секции [Strings], например, следующим образом:

[SourceDisksNames] 1=%ExamDir%,,,

[Strings] . . . ; Раскрываем значение нового маркера ExamDir="Example build directory"

Третье предупреждение (W22.1.2208) информирует, что в файле найдены секции для операционной системы NT, поэтому стандартные секции (для Windows 98) будут проигнорированы.

Оставшиеся предупреждения даны потому, что указанные секции (введенные для использования в Windows 98) проигнорированы, соответственно, на них нет ни одной ссылки.

Рис. 12.5.

Результаты работы CHKINF (после исправлений)

В пакете DDK в подкаталоге Tools имеется также утилита GENINF.EXE, которая облегчает создание inf-файлов, но более всего подходит для изучения процесса их создания и может оказать некоторую помощь начинающим разработчикам.




Содержание  Назад  Вперед