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


Возможности мини-драйвера WIA

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

Мини-диск WIA отвечает за создание таблицы со списком всех событий и команд, которые он поддерживает. На следующей схеме показана таблица возможностей, которую создает мини-накопитель WIA.

схема, иллюстрирующая таблицу возможностей мини-драйвера wia.

Таблица возможностей определяется как массив WIA_DEV_CAP_DRV структур. Мини-накопитель должен создать этот массив и вернуть его в службу WIA, когда служба WIA вызывает метод IWiaMiniDrv::d rvGetCapabilities .

Определение поддерживаемых событий и команд

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

События

Событие — это действие на уровне устройства, которое должно быть сообщено драйверу. Например, у сканера может быть кнопка передней панели с меткой "Сканировать". Когда пользователи нажимают эту кнопку, они ожидают, что сканер начнет сканирование или, по крайней мере, что приложение запустит сканирование.

WIA поддерживает два типа событий:

  • Событие действия:Событие действия запускает приложение, зарегистрированное для обработки такого события. Например, мастер сканера и камеры (Майкрософт) является зарегистрированным обработчиком для события Сканирования (другие приложения также могут регистрироваться для этого события). Когда драйвер отправляет событие Сканирования, служба WIA запускает мастер сканера и камеры для обработки этого события. Этот тип событий часто называют постоянным событием.

  • Событие уведомления:Событие уведомления отправляется только приложениям, которые уже запущены и указали службе WIA, что они должны получить это событие. Если приложение не запущено, оно не запускается для обработки этого события.

Событие может быть как событием действия, так и событием уведомления.

Команды

Команда устройства WIA — это запрос, который служба WIA отправляет (от имени приложения для создания образов) в мини-диск WIA, который предписывает мини-driver выполнить какое-либо действие. Например, мини-диск камеры WIA может обрабатывать команду "Сделать снимок ". Эта команда предписывает мини-накопителю заказать устройство цифровой камеры для создания нового снимка.

Примечание

Мастер сканера и камеры немедленно отвечает пользователю, даже если он по-прежнему выполняет очистку в фоновом режиме. Например, окно мастера сканера и камеры закрывается сразу же, когда пользователь запрашивает отмену действия; Однако мастер сканера и камеры имеет отдельный поток приобретения, который продолжает выполняться после закрытия окна. Этот отдельный поток обеспечивает немедленный ответ на запрос пользователя, но позволяет выполнять необходимые задачи и задачи, которые невозможно прервать, не влияя на взаимодействие с пользователем.