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


Обзор архитектуры WIA

WIA реализована как сервер com-сервер, обеспечивающий надежную работу клиентских приложений.

WIA включает три main компонента: службу WIA, библиотеку службы драйверов WIA и драйвер пользовательского режима поставщика.

  • Служба WIA перечисляет устройства обработки изображений, извлекает свойства устройства, настраивает события для устройств и создает объекты устройства.

  • Библиотека службы драйверов WIA реализует все службы, не зависящие от устройств.

  • Драйвер пользовательского режима поставщика сопоставляет свойства и команды WIA с конкретным устройством. Существует два типа драйверов в пользовательском режиме поставщика WIA:

    • Minidriver. Это наиболее распространенный тип драйвера поставщика. Это COM-объект, реализующий интерфейсы мини-драйвера WIA. Поставщик может воспользоваться всеми возможностями и функциями WIA с этим типом драйвера.

    • Microdriver: этот драйвер гораздо более ограничен, чем мини-диск, и, следовательно, проще разрабатывать. Он используется в основном для базовых устройств сканера. Этот драйвер не является COM-объектом; это библиотека DLL, которая экспортирует несколько функций. Микродрайверы нельзя использовать для устройств камеры.

На следующей схеме показана архитектура WIA.

схема, иллюстрирующая компоненты wia.

Приложения для обработки изображений

Приложения для обработки изображений не взаимодействуют напрямую с мини-накопителем, а взаимодействуют со службой WIA через api программирования WIA для доступа к изображениям и получения данных с устройств WIA. Эти приложения могут использовать общий, предоставляемый системой пользовательский интерфейс или предоставленный поставщиком пользовательский интерфейс. Дополнительные сведения об API WIA для приложений для создания образов см. в документации по Microsoft Windows SDK.

Служба WIA

Служба WIA — это системный компонент, который взаимодействует с приложениями для обработки изображений и мини-накопителями WIA. Служба WIA выполняется в отдельном процессе от приложений и в том же процессе, что и мини-накопители WIA. Приложения направляют запросы устройств к службе WIA, которая, в свою очередь, направляет запросы к соответствующему мини-накопителю через интерфейс драйвера устройства WIA (DDI).

Библиотека служб драйверов WIA

Библиотека служб драйверов WIA — это системный компонент, который предоставляет вспомогательные функции для мини-драйверов WIA. Мини-диск может вызывать вспомогательные функции для выполнения следующих задач:

  • Инициализируйте дерево элементов драйвера WIA.

  • Чтение, запись и проверка свойств устройства.

  • Передача данных.

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

Мини-накопители wia User-Mode

Мини-накопители WIA — это предоставляемые поставщиком компоненты в пользовательском режиме, которые направляют изменения свойств и команды WIA на устройство создания образов. Мини-диск реализует WIA DDI, который вызывается службой WIA для связи с мини-накопителем.

Мини-диск WIA реализует стандартные интерфейсы мини-драйвера WIA. Мини-драйвер взаимодействует с устройством для создания образов через стандартный драйвер режима ядра Microsoft Windows, например USB-драйвер. Мини-драйвер взаимодействует с драйвером режима ядра, вызывая функции Win32 CreateFile, ReadFile, WriteFile и DeviceIoControl (описаны в документации по Microsoft Windows SDK).

Приложение для обработки изображений не может выполнять прямые вызовы к мини-накопителю WIA. Только службе WIA разрешено вызывать драйвер напрямую.

Драйверы ввода-вывода ядра

Драйверы образов в режиме ядра — это предоставляемые системой компоненты или компоненты, предоставляемые IHV, которые доставляют данные на устройство неподвижного образа или из нее. Драйвер образа в режиме ядра зависит от шины.

Корпорация Майкрософт предоставляет драйверы образов на основе WDM в режиме ядра для шин USB, SCSI и IEEE 1394. Дополнительные сведения см. в статье Доступ к драйверам Kernel-Mode для устройств с изображениями .

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