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


INF-файлы для устройств WIA

Важно!

Некоторые сведения, содержащиеся в этой статье, относятся к устаревшим операционным системам Windows.

Установщик класса по умолчанию для устройств с изображениями ,sti_ci.dll, распознает специальный набор записей INF-файла. В INF-файле эти записи должны быть помещены в раздел INF DDInstall устройства. Записи описаны в следующей таблице.

Запись INF-файла Значение Комментарии
Подкласс StillImage Обязательно
DeviceType 1 для сканеров

2 для камер

3 для потоковой передачи видео
Обязательно
DeviceSubType Определенное поставщиком значение Необязательно
Соединение Для устройств без Plug and Play, подключенных к последовательным или параллельным портам, это может быть последовательный или параллельный, чтобы ограничить выбор портов пользователем во время установки. Необязательно

Если не указано, пользователь может выбрать любой последовательный или параллельный порт.
Capabilities Указывает число, которое преобразуется в битовые флаги, определяющие возможности устройства. Эти флаги хранятся в реестре и доступны для компонентов STI с помощью структуры STI_DEV_CAPS.

Бит 0 — задает или очищает STI_GENCAP_NOTIFICATIONS в STI_DEV_CAPS.

Бит 1 — задает или очищает STI_GENCAP_POLLING_NEEDED в STI_DEV_CAPS.

Бит 2 — задает или очищает STI_GENCAP_GENERATE_ARRIVALEVENT в STI_DEV_CAPS.

Бит 3 — задает или очищает STI_GENCAP_AUTO_PORTSELECT в STI_DEV_CAPS.

Бит 4 — задает или очищает STI_GENCAP_WIA в STI_DEV_CAPS.

Бит 5 — задает или очищает STI_GENCAP_SUBSET в STI_DEV_CAPS.
Необязательно

Бит 5 в настоящее время не используется.

Задайте для этой записи в INF-файле 0x33 для поддержки событий нажатия кнопки в сканере.
Страницы свойств Только для Windows 98 и Windows 2000

Идентифицирует имя и точку входа библиотеки DLL, которая создает настраиваемые страницы страниц свойств для устройств с неподвижными изображениями.

Дополнительные сведения о записи PropertyPages см. в разделе Inf Files for Still Image Devices.
Необязательно

Эта запись предназначена только для драйверов STI и устарела для драйверов WIA.

Сведения о страницах свойств, относящихся к разработчикам драйверов WIA, см. в примечании к PropertyPages после этой таблицы.
DeviceData Определяет предоставленный поставщиком раздел данных, содержащий сведения, которые будут храниться в реестре в разделе DeviceData . Для устройств, поддерживаемых TWAIN, раздел данных должен содержать запись TwainDS (см. раздел Записи реестра для драйверов WIA). Необязательно
События Идентифицирует предоставленный поставщиком раздел данных, в котором по-прежнему содержится изображение событий устройства. Каждая запись в этом разделе должна иметь следующий формат:

EventName="String",{GUID},App

EventName — это внутреннее имя события, String — отображаемая строка события, GUID — GUID события, а App указывает приложение для создания образов, которое будет запущено при возникновении события. Чтобы запустить зарегистрированное приложение, используйте звездочку () дляприложения*.
Обязательно
PortSelect Если для установки устройства не требуется страница выбора порта, значение "нет" приводит к пропуску этой страницы. Это значение также приводит к тому, что значение записи CreateFileName (см. примечание о CreateFileName и PortSelect после этой таблицы) будет автоматически задано значение AUTO.

Значение Message1 приводит к отображению предоставленного системой сообщения и задает для записи CreateFileName значение AUTO.

Применяется как к сканерам, так и к камерам, для которых требуется установка вручную.
Необязательно

Обратите внимание, что для Plug and Play устройств параметр PortSelect игнорируется, но для устройства по-прежнему должно быть задано значение AUTO, чтобы WIA загрузил устройство. Используйте директиву INF AddReg , чтобы добавить эту запись в раздел INF DDInstall INF-файла устройства.

Примечание

Для взаимодействия с устройством клиент пользовательского режима (мини-диск) должен запросить у службы WIA имя файла устройства и строку, указывающую имя создаваемого или открытого объекта. (Имя файла не обязательно должно быть именем файла диска.) Отвечая на такой запрос, служба WIA получает имя файла устройства из записи реестра CreateFileName . ( Драйверыusbscan.sys и scsiscan.sys режима ядра создают эту запись, как и установщик класса.) Мини-driver получает это имя файла путем вызова метода IStiDeviceControl::GetMyDevicePortName . Затем мини-диск может использовать это имя файла при вызове функции CreateFile , чтобы открыть дескриптор устройства. Если устройство установлено вручную, установщик класса создает запись CreateFileName , задав для нее значение, которое зависит от выбора пользователем на странице выбора порта: COMX, LPTX или AUTO. Для некоторых устройств (например, сканеров сети), установленных вручную, порт не требуется. В таких случаях результирующее диалоговое окно выбора порта может сбить пользователей с толку. Чтобы предотвратить появление этого диалогового окна, добавьте следующую запись в раздел INF DDInstall INF-файла устройства.

PortSelect=NO

Примечание

Побочным эффектом этого значения записи является то, что для записи CreateFileName задано значение AUTO. Обратите внимание, что если мини-диск получает auto для имени файла, он должен самостоятельно определить, с каким устройством он должен взаимодействовать.

Примечание

Для PropertyPages драйвер WIA должен использовать другой механизм расширяемости для добавления страниц свойств. Он также должен добавить собственный GUID к записи идентификатора класса пользовательского интерфейса в INF-файлах и предоставить определенную регистрацию расширяемости пользовательского интерфейса (см. раздел Записи реестра расширений пользовательского интерфейса) для заменяемых компонентов пользовательского интерфейса, таких как общие диалоговые окна, или добавленных, таких как контекстные меню и страницы свойств. Драйвер WIA также должен предоставлять регистрацию расширяемости пользовательского интерфейса для самого компонента.

Дополнительные записи INF-файла

Записи в следующей таблице должны быть помещены в раздел, на который указывает директива INF AddReg устройства:

Запись INF-файла Значение Комментарии
HardwareConfig Указывает тип подключения, используемого устройством.

1,1 — универсальное устройство WDM

1,2 − устройство SCSI

1,4 − USB-устройство

1,8 − последовательное устройство

1,16 − параллельное устройство
Необязательно
КЛАСС USD Указывает GUID для мини-драйвера. Необязательный элемент.

Идентификатор GUID в записях USDClass и CLSID должен соответствовать идентификатору GUID, который используется в функции DllGetClassObject мини-драйвера. Если вы пишете microdriver, значение должно быть BB6CF8E2-1511-40bd-91BA-80D43C53064E. В противном случае необходимо создать новый GUID, используя, например, genguid.exe.
CLSID Указывает GUID для мини-накопителя. Необязательный элемент.

Ознакомьтесь с приведенными выше комментариями для записи USDClass .

Установщик классов по умолчанию для устройств с неподвижными образами поддерживает стандартную директиву INF CopyFiles.

Inf-файл по умолчанию для устройств с неподвижным образом sti.inf определяет два раздела установки для каждого типа устройства следующим образом:

  • Раздел INF DDInstall, на который необходимо ссылаться в разделе DDInstall предоставленного поставщиком INF-файла, как показано в следующей таблице.

    Тип устройства Включение Потребности
    IEEE 1394/SBP2 Include=sti.inf Needs=STI. SBP2Section
    USB Include=sti.inf Needs=STI. USBSection
    SCSI Include=sti.inf Needs=STI. SCSISection
    Серийный номер Include=sti.inf Needs=STI. SerialSection
  • Раздел INF DDInstall Services, на который необходимо ссылаться в разделе INF DDInstall.Services предоставленного поставщиком INF-файла, как показано в следующей таблице.

    Тип устройства Включение Потребности
    1394/SBP2 Include=sti.inf Needs=STI. SBP2Section.Services
    USB Include=sti.inf Needs=STI. USBSection.Services
    SCSI Include=sti.inf Needs=STI. SCSISection.Services
    Серийный номер Include=sti.inf Needs=STI. SerialSection.Services

Дополнительные инструкции по созданию INF-файлов для устройств с неподвижными образами см. в любом INF-файле, предоставленном в Windows, который содержит запись SubClass=StillImage.

Чтобы назначить устройство WIA, INF-файл мини-накопителя должен содержать следующие значения, помещенные в раздел DeviceData INF-файла, предоставленного поставщиком.

Запись INF-файла Значение Комментарии
Сервер Local Обозначает устройство как локальное. Это необязательное действие, и если поставщик не указывает значение записи, предполагается, что устройство является локальным. То есть для свойства WIA_DIP_SERVER_NAME задано значение Local.
MicroDriver Имя файла .dll , предоставленное поставщиком Для этой записи должно быть задано имя предоставленной поставщиком библиотеки DLL, реализующей микродрайвер WIA.
БИБЛИОТЕКА DLL пользовательского интерфейса Имя файла .dll , предоставленное поставщиком Устарел и никогда не используется. Раньше эта запись указывала имя предоставленного поставщиком DLL-файла пользовательского интерфейса.
Идентификатор класса пользовательского интерфейса Предоставленный поставщиком идентификатор класса устройства Указывает класс устройства, поддерживаемый предоставляемым поставщиком пользовательским интерфейсом. Это необязательно, и если поставщик не указывает значение записи, WIA устанавливает для свойства WIA_DIP_UI_CLSID значение GUID_NULL и используется пользовательский интерфейс WIA по умолчанию.
ICMProfiles Значение цветового профиля, предоставленное поставщиком Задает значение, помещаемое в свойство WIA_IPA_ICM_PROFILE_NAME. Если значение не указано, используется стандартный профиль sRGB sRGB Color Space Profile.icm .

Запись MicroDriver требуется только в том случае, если поставщик поставляет микроdriver WIA.

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

Комментарии

При разработке INF-файла для сканеров можно использовать дескрипторы ОС Майкрософт , чтобы включить функции идентификатора совместимости. При этом вы разрешаете один драйвер сканера быть совместимым с несколькими моделями сканера.