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


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

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

  • INF-файл

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

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

  • Другие файлы

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

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

INF-файл

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

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

Средство InfVerif , которое предоставляется в каталоге \tools пакета драйверов Microsoft Windows (WDK), проверяет синтаксис и структуру всех разделов и директив INF для нескольких классов вместе со расширениями для всех классов установки, за исключением принтеров.

Для установки всех версий операционной системы 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 . Разрешены длинные имена файлов, за исключением драйверов начальной загрузки.

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

Другие файлы

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

Предоставление значков для устройства