Поделиться через


Компоненты пакета драйвера

Пакет драйвера включает все компоненты программного обеспечения, которые необходимо предоставить, чтобы убедиться, что ваше устройство поддерживается в Windows. Как правило, пакет драйвера содержит следующие компоненты:

  • Файл сведений о настройке (INF)
  • Файл каталога
  • Файлы драйвера
  • Другие файлы

Краткое описание каждого компонента пакета драйвера следует.

Пакет драйверов Windows (WDK) включает примеры пакетов драйверов. Дополнительные сведения см. в разделе "Примеры файлов установки устройства"

INF-файл

Каждый пакет драйвера должен содержать файл установки (INF), который считывается компонентами установки устройства при установке устройства. INF-файл не является скриптом установки. Это текстовый файл ASCII или Юникод (только UTF-16), предоставляющий сведения об устройстве и драйвере. Сведения о настройке включают файлы драйверов, записи реестра, идентификаторы устройств, файлы каталога и сведения о версии, необходимые для установки пакета драйверов на устройстве.

Точное содержимое и формат INF-файла зависят от класса установки устройства, к которому принадлежит этот INF. Сводка по разделам INF описывает сведения, необходимые для каждого типа INF. Как правило, сведения о производителях находятся в разделе INF Models. Записи в разделе "Модели" относятся к разделам INF DDInstall, содержащим сведения о модели.

Инструмент InfVerif проверяет синтаксис и структуру всех INF-разделов и директив между классами, а также расширения, специфичные для всех классов установки, за исключением принтеров. Средство InfVerif находится в каталоге \tools WDK.

Для установки всех версий операционной системы Windows можно использовать один INF-файл. Дополнительные сведения см. в разделе "Создание INF-файлов для нескольких платформ и операционных систем". Если ваше устройство продается на международном рынке, создайте международный INF-файл. В зависимости от участвующих мест международный INF-файл может быть файлом Юникода (UTF-16), а не ASCII.

Хорошим способом создания INF-файла для драйвера является изменение одного из примеров, которые предоставляет WDK. Большинство примеров драйверов WDK включают INF-файлы в том же каталоге, что и пример драйвера.

INF-файл для устройства должен содержать следующие сведения по крайней мере:

  • Сведения о версиях операционной системы, поддерживаемых пакетом драйверов
  • GUID класса установки и класс установки для пакета драйверов
  • Сведения о версии пакета драйвера
  • Имена файлов драйверов вместе с их исходными и целевыми расположениями
  • Сведения, относящиеся к устройству, включая идентификаторы оборудования и совместимые идентификаторы, которые определяют применимость пакета драйвера
  • Имя файла каталога (.cat)
  • Сведения о том, как и когда загружать службы, предоставляемые каждым пакетом драйвера

Если устройство участвует в загрузке системы, требования к установке отличаются. См. статью об установке загрузочного драйвера.

Дополнительные сведения о INF-файлах см. в разделе "Создание INF-файла". Кроме того, см. документацию по InfVerif, документацию для конкретного устройства в WDK и INF-файлы, предоставленные примерами драйверов для устройств, аналогичных вашим.

Файл каталога

Файл каталога драйверов содержит криптографический хэш каждого файла в пакете драйвера. Windows использует эти хэши для проверки того, что пакет не был изменен после публикации. Чтобы убедиться, что файл каталога не изменен, он должен иметь цифровую подпись , доверенный системами с помощью этого пакета драйвера.

Поставщик получает цифровые подписи, отправив пакет драйвера в лабораторию качества оборудования Windows (WHQL) для тестирования и подписывания. WHQL возвращает пакет с файлом каталога (.cat file). За дополнительной информацией см. сигнатуры выпуска WHQL.

Сведения о том, как подписывать драйверы, см. в статье "Подписывание драйверов для общедоступного выпуска и подписывания драйверов во время разработки и тестирования".

INF-файл должен ссылаться на файл каталога с директивой CatalogFile в разделе INF-версии INF .

Файлы драйверов

В большинстве случаев пакет драйверов содержит одну или несколько служб драйверов, которые должны быть частью стека устройств для устройства, на котором установлен пакет драйвера. Дополнительные сведения о службах драйверов см. в разделе "Выбор модели драйвера". Служба драйверов является частью пакета, который предоставляет интерфейс ввода-вывода для устройства. Как правило, драйвер — это библиотека динамической компоновки (DLL) с расширением имени файла sys. Разрешены длинные имена файлов, за исключением драйверов начальной загрузки.

Программное обеспечение, необходимое для поддержки конкретного устройства, зависит от функций устройства и шины или порта, к которому он подключается. Корпорация Майкрософт поставляет драйверы для многих распространенных устройств. Если один из этих драйверов может обслуживать ваше устройство, вам, возможно, нужно будет только написать минидрайвер для конкретного устройства. Минидрайвер обрабатывает особенности, относящиеся к устройству, от имени поставляемого системой драйвера. Для некоторых типов устройств даже минидрайвер не требуется. Например, модемы обычно поддерживаются только с файлами установки.

Другие файлы

Пакет драйвера может содержать другие файлы, такие как параметры калибровки оборудования, служба Win32, значок устройства или файл библиотеки драйверов. Дополнительные сведения можно найти здесь