Компоненты WIA
WIA состоит из нескольких уровней, которые входят между пользователем и оборудованием. Пользователь взаимодействует с приложением WIA, которое может иметь необязательные пользовательские интерфейсы. Это приложение взаимодействует со службой WIA, которая отправляет запросы пользователя в мини-хранилище. Мини-диск взаимодействует с соответствующим драйвером шины в режиме ядра. Наконец, водитель автобуса взаимодействует с оборудованием. На следующей схеме показаны программные компоненты, составляющие интерфейс WIA.
Приложения для создания образов
Приложения для создания образов не взаимодействуют напрямую с мини-накопителем, но взаимодействуют со службой WIA через интерфейс программирования приложений WIA (API WIA) для доступа к изображениям и получения данных с устройств WIA. Эти приложения могут использовать предоставляемый системой пользовательский интерфейс или пользовательский интерфейс, предоставляемый производителем устройства. Пользовательский интерфейс используется для выбора элементов для передачи и задания соответствующих свойств. Обратите внимание, что это приложение, а не драйвер, которое передает выбранные элементы после закрытия пользовательского интерфейса. Дополнительные сведения об API WIA для приложений для создания образов см. в документации по Microsoft Windows SDK.
Служба WIA
Служба WIA — это системный компонент, который взаимодействует с приложениями для создания образов и мини-накопителями WIA. Служба WIA — это коллекция COM-интерфейсов, перечисленных в следующей таблице. Все они описаны в документации по Microsoft Windows SDK. Служба WIA выполняется в отдельном процессе от приложений, но в том же процессе, что и мини-накопители WIA. Приложения направляют запросы устройств к службе WIA. Затем служба WIA направляет эти запросы в соответствующий мини-диск через интерфейс драйвера устройства WIA (WIA DDI). В следующей таблице перечислены API-интерфейсы, которые может реализовать приложение WIA.
WIA API | Описание |
---|---|
IEnumWIA_DEV_CAPS | Перечисляет возможности аппаратного устройства WIA. Возможности устройства включают команды и события, поддерживаемые устройством. |
IEnumWIA_DEV_INFO | Перечисляет аппаратные устройства WIA и их свойства. Свойства сведений об устройстве описывают установку и конфигурацию аппаратных устройств WIA. |
IEnumWIA_FORMAT_INFO | Перечисляет формат и сведения о типе мультимедиа для устройства. |
IEnumWiaItem | Перечисляет объекты IWiaItem в текущей папке дерева. Система времени выполнения WIA представляет каждое аппаратное устройство WIA для приложения в виде иерархического дерева объектов IWiaItem . |
IWiaDataCallback | Предоставляет механизм обратного вызова приложения во время передачи данных с аппаратных устройств WIA в приложения. |
IWiaDataTransfer | Поддерживает окно общей памяти для передачи данных из объекта устройства в приложение и устраняет ненужные копии данных во время маршалинга. |
IWiaDevMgr | Используется приложениями для создания устройств получения образов и управления ими. Они также используют его для регистрации для получения событий устройства. |
IWiaEventCallback | Используется приложениями для получения уведомлений о событиях устройства WIA. |
IWiaItem | Позволяет приложениям запрашивать возможности устройств. IWiaItem также предоставляет доступ к интерфейсам передачи данных и свойствам элементов. Кроме того, этот интерфейс предоставляет методы, позволяющие приложениям управлять устройством. |
IWiaPropertyStorage | Предоставляет доступ к сведениям о свойствах объекта IWiaItem . |
Библиотека служб драйверов WIA
Библиотека служб драйверов WIA — это системный компонент, предоставляющий вспомогательные функции для мини-драйверов WIA. Мини-диск может вызывать вспомогательные функции для выполнения следующих задач:
Инициализируйте дерево элементов драйвера WIA.
Чтение, запись и проверка свойств устройства.
Передача данных.
Кроме того, мини-диск может выполнять такие задачи самостоятельно. С помощью вспомогательных функций вы можете сократить время разработки и размер мини-накопителя WIA и по-прежнему иметь гибкость при разработке отдельных решений.
Служебная библиотека WIA
Служебная библиотека WIA включает в себя коллекцию функций отладки (wiauDbgXxx), коллекцию общих вспомогательных функций и три класса: класс CWiauDbgFn, класс CWiauFormatConverter и класс CWiauPropertyList.
Мини-отвертки WIA
Мини-накопители WIA — это предоставляемые поставщиком компоненты пользовательского режима, которые направляют изменения свойств и команды WIA на устройство с изображением. Мини-driver реализует WIA DDI, который служба WIA вызывает для связи с мини-накопителем.
Мини-драйвер WIA предоставляет интерфейс пользовательского режима для конкретного устройства с драйвером образа в режиме ядра, который управляет устройством создания образов через драйвер, например USB-драйвер. Мини-диск взаимодействует с драйверами режима ядра, вызывая функции Microsoft Win32 CreateFile, ReadFile, WriteFile и DeviceIoControl (описанные в документации по Microsoft Windows SDK).
Приложение для создания образов не может напрямую вызывать мини-диск WIA. Только служба WIA может вызывать драйвер напрямую.
Драйверы ввода-вывода ядра
Драйверы неподвижных образов в режиме ядра — это компоненты, предоставляемые системой или IHV, которые упаковывают данные для доставки на устройства неподвижных образов и для передачи с устройств неподвижных образов. Драйвер образа в режиме ядра зависит от шины.
Корпорация Майкрософт предоставляет драйверы неподвижных образов в режиме ядра на основе модели драйвера Microsoft Windows (WDM) для шин USB, SCSI, serial и IEEE 1394. Дополнительные сведения об этих драйверах см. в статье Доступ к драйверам в режиме ядра для устройств с неподвижными образами.
Поставщик должен предоставить драйвер образа в режиме ядра только в том случае, если его устройство для создания образов несовместимо с драйверами ввода-вывода, предоставляемыми корпорацией Майкрософт.
Сведения о версии можно получить из драйвера. Свойство WIA_DIP_WIA_VERSION содержит версию WIA, а свойство WIA_DIP_DRIVER_VERSION — версию драйвера DLL. Служба WIA создает и поддерживает эти свойства; они автоматически добавляются службой WIA при загрузке драйвера. Windows Me не включает эти свойства.